有如下的类的模板定义:
template <class T>
class MyClass
{
private:
T number;
public:
MyClass(T k);
…
};
其中构造函数MyClass()用k的值初始化数据成员n。因此在模板类体外,构造函数
MyClass应定义为【 】。
第1题:
有以下程序: #include<iostream> usingnamespaeestd; classMyClass { public: MyClass(intn){number=n;} //拷贝构造函数 MyClass(MyClass&other){number=other.number;} ~MyClass(){} private: intnumber; }; MyClassfun(MyClassp) { MyClasstemp(p); returntemp; } intmain() { MyCIassobj1(10),obj2(O); MyClassobj3(obj1); obj2=fun(obj3); return0; 程序执行时,MyClass类的拷贝构造函数被调用的次数是( )。
A.5
B.4
C.3
D.2
第2题:
有以下程序 #include <iostream> using namespace std; class MyClass { public: MyClass(int n) { number=n; } // 拷贝构造函数 MyClass(MyClass& other) {number=other. number;} -MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass obj1(10), obj2(0); MyClass obj3(obj 1); obj2=fun(obj3); return 0; } 程序执行时,MyClass 类的拷贝构造函数被调用的次数是______ 次。
A.5
B.4
C.3
D.2
第3题:
下列的模板说明中,正确的是()
A.template <typename T1, typename T2>
B.template <class T1, T2>
C.template < T1 class, T2 class >
D.template <typename T1; typename T2>
第4题:
有以下程序#include <iostream>using namespace std;class MyClass{public: MyClass(int n) { number=n; } //拷贝的构造函数 MyClass(MyClass& other) {number=other. number; } ~MyClass() { }private: int number;};MyClass fun(MyClass p){ MyClass temp(p); return temp;}int main() MyClass obj 1 (10), obj 2(0); MyClass obi 3 (obj 1); obj2=fun(obj3); return 0;}程序执行时,MyClass 类的拷贝构造函数被调用的次数是( )。
A.5
B.4
C.3
D.2
第5题:
有以下程序 #include<iostream> using namespace std; class MyClass { public: MyClass(int n){number =n; } //拷贝构造函数 MyClass(MyClass& other) {number=other.number;} ~MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass Obj1(10),obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; } 程序执行时,MyClass类的拷贝构造函数被调用的次数是
A.5
B.4
C.3
D.2