有以下程序,在横线应添加( )。 #include<iostream> using namespace std; class TestClass { public: TestClass(int n){number=n;} ______∥拷贝构造函数 ~TestClass(){} private: int number; }: TestClass fun(TestClass P) { TestClass temp(p); return temp; } int main() { TestClass obj1(10), obj2(0); TestClass obj3(obj1); obj2=fun(obj3); return 0; }
A.TestClass(TestClass &other){number=other.number;}
B.TestClass(TestClass other){number=other.number;}
C.TestClass(TestClass &other){number;)
D.TestClass(&other){number=other.number;}
参考答案:A
解析: 拷贝构造函数也是构造函数,但它只有一个参数,这个参数是本类的对象,即other,所以赋值操作将本类的参数other.number赋值给number;而且采用对象的引用的形式,也就是&other。