如果它是重複的問題,我很抱歉,但是我沒有找到關於這個問題的討論。所以,我正在學習C++,並且我不明白將值分配給類對象的以下問題。我有這個實現的類牛逼的:將值分配給C++中的類對象
class T
{
int aInt;
double aDouble;
public:
T():aInt(0),aDouble(0.){}
T(int my_aInt, double my_aDouble):aInt(my_aInt), aDouble(my_aDouble){}
T(int my_aInt):aInt(my_aInt), aDouble(0.){}
T(double my_aDouble):aInt(0), aDouble(my_aDouble){}
void set_aInt(int my_aInt){
aInt = my_aInt;
}
void set_aDouble(double my_aDouble){
aDouble = my_aDouble;
}
int get_aInt(){
return aInt;
}
double get_aDouble(){
return aDouble;
}
};
我要創建這個類的對象,並指定一些值給他們。我可以這樣做:
T tt1(-1, 5.), tt2(-1), tt3(5.);
它工作正常。現在我想更改分配給對象tt1的值。我知道我可以這樣做:
tt1.set_aInt(-3); // gives aInt = -3, aDouble = 0
tt1.set_aDouble(6.); // gives aInt = 0, aDouble = 6.
它也可以正常工作。但似乎有另一種方式做到這一點:
tt1 = -3; // gives aInt = -3, aDouble = 0
tt1 = 6.; // gives aInt = 0, aDouble = 6.
tt1 = (-3, 6.); // gives aInt = 0, aDouble = 6. - Why?
我的第一個問題是:tt1 = -3;
相當於tt1.set_aInt(-3);
並且這是一個好的做法呢?第二個問題是tt1 = (-3, 6.);
有什麼問題,爲什麼它設定的值爲aInt等於而不是-3?
顯式定義賦值成員函數。 – seccpur