玉傢伙在這裏,我的問題很簡單..我想構建不同勢值類型getter和setter ..基本上函數重載但getter和setter ..我試圖像這樣getter和setter C++
#include <iostream>;
class Vectors {
public:
Vectors() {};
Vectors(int a, int b) {
x = a, y = b;
}
int getX() {
return x;
}
int getY() {
return y;
}
float getX() {
return (float)x;
}
float getY() {
return (float) y;
}
friend Vectors operator+(const Vectors& v1, const Vectors& v2);
friend Vectors operator/(const Vectors& v1, const Vectors& v2);
protected:
int x, y;
private:
};
Vectors operator+(const Vectors& v1, const Vectors& v2) {
Vectors brandNew;
brandNew.x = v1.x + v2.x;
brandNew.y = v1.y + v2.y;
return (brandNew);
};
Vectors operator/(const Vectors& v1, const Vectors& v2) {
Vectors brandNew(v1.x/v2.x, v1.y/v2.y);
return brandNew;
}
int main() {
Vectors v1(2, 3);
Vectors v2(4, 5);
Vectors v3;
v3 = v1 + v2;
Vectors v4 = v1/v2;
std::cout << "VECTOR 4 X : " << v4.getX() << std::endl;
std::cout << "VECTOR 4 Y : " << v4.getY() << std::endl;
std::cout << "Vector V3 X : " << v3.getX() << std::endl;
std::cout << "VECTOR V3 Y : " << v3.getX() << std::endl;
}
但顯然它說不能做功能重載和唯一類型不同是返回類型。
所以問題是?爲什麼不在你稱之爲吸氣劑之後進行劇組? –
問題是你怎麼做它告訴我的論據必須是不同的... @BaummitAugen。以上代碼有錯誤... – amanuel2
你不能,根據你的最後一句話是顯而易見的。想一想,如果你編寫'v4.getX()',編譯器應該怎麼知道你想調用哪個getter?再次,只需要'int' getters並且輸出它們的結果。 –