举一反三
- 如下类定义中包含了构造函数和拷贝数的原型声明请在横线处写正确的内容,使拷贝构造函数的声明完整。ClassMyClass{private:intdata:public:MyClass(intvalue);//构造函数MyClass(const_______anotherObject);//拷贝构造函数};
- 如下类定义中包含了构造函数和拷贝数的原型声明请在横线处写正确的内容,使拷贝构造函...erObject);//拷贝构造函数};
- 有如下类定义:class MyClass{int value;public:MyClass( int n): value (n) {}int gerValue()const{return value;}};则类MyClass的构造函数的个数是( )。 A: 1个 B: 2个 C: 3个 D: 4个
- 假定MyClass为一个类,则该类的拷贝构造函数的声明语句为()。
- 如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100;会 ,等价于 myclass obj = myclass(100)
内容
- 0
假定X为一个类,则该类的拷贝构造函数的声明语句为( )。 A: MyClass(MyClass x) B: MyClass&(MyClass x) C: MyClass(MyClass &x) D: MyClass(MyClass *x)
- 1
假定Mylass为一个类,则该类的复制构造函数的声明语句为( ) A: MyClass&(MyClass x); B: MyClass(MyClass x); C: MyClass(MyClass &x); D: MyClass(MyClass *x);
- 2
【填空题】用拷贝构造函数进行对象构造。 #include<iostream> using namespace std; class Box { public: Box(int h,int w,int len); //构造函数声明 ( 1 ) //拷贝构造函数声明 int volume(); //求立方体体积函数 private: int height; int width; int length; }; Box::Box(int h,int w,int len) { height=h; width=w; length=len; } Box::Box(Box &a) { height=a.height+5; width=a.width+5; length=a.length+5; } int Box::volume() { return(height*width*length); } void main() { Box box1(5,5,5); cout<<"The volume of box
- 3
(12)对于一个类定义,下列叙述中错误的是 A: )如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 B: )如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 C: )如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数 D: )如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
- 4
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。 A.MyClass*p,my;p=&my; B.语句p=&my;是把对象my赋值给指针变量p C.语句MyClass*p,my;会调用两次类MyClass的构造函数 D.对语句*p.SetV ariable(5)与语句my.SetVariable(5)等价