클래스의 2 개 개체를 추가하는 프로그램을 작성했습니다.클래스의 객체 데이터를 추가 하시겠습니까?
//program for adding 2 objects data of same class
#include<iostream>
using namespace std;
class distances
{
private:
int feet;
float inches;
public:
distances() //constructor
{
feet = 0;
inches = 0.0;
}
distances(int f, float i) //constructor
{
feet = f;
inches = i;
}
void get_data() //taking value
{
cout << "Enter the distance in feet and inches :: " << "\n";
cin >> feet >> inches;
}
void show_data() //showing data
{
cout << "The distance in feet is ::" << feet
<< " and in inches is :: " << inches;
}
void add(distances d1, distances d2); //adding to objects
};
void distances::add(distances d1, distances d2)
{
inches = d1.inches + d2.inches;
feet = 0;
while(inches >= 12)
{
inches = inches - 12;
++feet;
}
feet += d1.feet + d2.feet;
}
void main()
{
distances d1, d2, d3;
d1.get_data();
d2.get_data();
d3.add(d1, d2);
d3.show_data();
getch();
}
내 프로그램은 잘 작동하지만 내 선생님은 그가 why.He 내 접근 방식은 좀 더 개체를 추가 할 때 작동하지 않습니다 나에게 말하지 않았지만 2 개체를 추가 내 접근 방식은 잘못이라고 말했다. 왜 내 접근 방식이 잘못되었는지 모르겠다. 내 친구가 내 문제가 줄에 있다고 말했다. d3.add (d1, d2);
사실입니까?
내 두 번째 문제였습니다 내가 대신 거리의 거리로 클래스 이름, 함수 이름과 생성자의 이름을 사용하는 경우 다음과 같은 오류가 이미 클래스가 같이 오류를 얻고있다
1>c:\users\abc\documents\visual studio 2010\projects\pass\pass\pass.cpp(47): error C2872: 'distance' : ambiguous symbol
1> could be 'c:\users\abc\documents\visual studio 2010\projects\pass\pass\pass.cpp(6) : distance'
1> or 'c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(899) : iterator_traits<_Iter>::difference_type std::distance(_InIt,_InIt)'
을 달성하기 위해'main'는'INT를 반환해야합니다 '. 객체를 추가하는 올바른 방법은'operator +'와'operator + ='를 오버로드하는 것입니다. – chris
죄송합니다. chris, 저는 오브젝트 자체가 아닌 2 개의 오브젝트의 가치를 더하는 방법을 묻고 싶습니다. – Freedom911
'add '와 같은 이름으로, Java 접근 방식에 대한 연산자 접근 방식을 선호합니다. 평론가가 얻는 것은 아마 당신이 사슬을지지하지 않는다는 것입니다. – chris