如下类定义中包含了构造函数和复制构造函数的原型声明,请在画线处填写正确的内容,使复制构造函数
class my(21ass{
private:
int data:
public::
MyClass(int value);//构造函数
MyClass(const______anotherObject); //复制构造函数
class my(21ass{
private:
int data:
public::
MyClass(int value);//构造函数
MyClass(const______anotherObject); //复制构造函数
class myClass{
private:
int data;
public:
myClass(int value);//构造函数
myClass(const______another Object);//拷贝构造函数
}
复数类及对象的定义如下: class Complex { double real,image; public: Complex(double r=0, double i=0) {real=r; image=i; } Complex(Complex &c) {real=c.real; image=c.image; } }; Complex c1; //A Complex c2(3,5); //B Complex c3(c2) //C C2=c1; //D 下述说法中正确的是()。
A、C行和D行均调用了复制构造函数
B、C行调用了复制构造函数
C、B行调用了复制构造函数
D、A行调用了复制构造函数
有如下类定义,请将Sample类的复制构造函数补充完整。
class Sample{
public:
Sample(){ }
~Sample(){if(P)delete P;)
Sample(const Sample&s){______}
void SetData(int datA) {P=new int(datA) ;}
private:
int*P:
};
A.先A的构造函数,后B的构造函数
B.先B的构造函数,后A的构造函数
C.构造函数的调用顺序取决于具体的调用情况
D.可以由用户自定义顺序
对于一个类的定义,下列叙述中错误的是
A.如果没有定义复制构造函数,那么编译器将生成一个复制构造函数
B.如果没有定义默认的构造函数,那么编译器将一定生成一个默认的构造函数
C.如果没有定义构造函数,那么编译器将生成一个默认的构造函数和一个复制构造函数
D.如果已经定义了构造函数和复制构造函数,那么编译器不会生成任何构造函数
A.在C++语言中,如果不自定义类的复制构造函数,则每个类都有默认的复制构造函数
B.必须为每个类定义复制构造函数
C.如果要使用复制构造函数,则必须在类中先定义
D.当定义了类的构造函数时,如果要使用复制构造函数,则必须定义复制构造函数
A.类中定义带参的构造函数,系统不会生成默认构造函数
B.类中如果没有定义复制构造函数,系统会提供默认的复制构造函数
C.如果没有定义默认的构造函数,编译器一定会生成一个默认的构造函数
D.如果类中声明了某个成员函数,必须在类体外定义该成员函数
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!