我是新來的面向對象的編程,這可能是一個愚蠢的問題,但我不明白爲什麼使用A類代碼比B類更好,如果你想創建一個對象的副本。使用拷貝構造函數有什麼好處?
class A {
int num;
public:
A(const A &ref) : num(ref.num) {};
};
class B {
int num;
public:
B(B *ptToClass) : num(ptToClass->num) {};
};
如果我得到這個權利,拷貝構造函數是在A級使用
http://stackoverflow.com/a/18611518/1012759它被標準禁止接受指針。 – CyberGuy
@CyberGuy這個問題說「複製對象」,而不是「創建複製構造函數」。您可以「複製對象」而無需複製構造函數。 – Yakk
你確定A班比較好嗎?這兩個類看起來和我很相似,一個用無意義的拷貝構造函數,另一個用帶指針的隱含構造函數。 – anatolyg