更多"有如下类定义,请将Sample类的拷贝构造函数补充完整。
clas"的相关试题:
[填空题]有如下类定义,请将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:
;
[填空题]
有如下类定义:
class Sample{
public:
Sample( );
~Sample( );
Private:
Static int date;
};
将静态数据成员data初始化为0的语句是 【11】 。
[填空题]下列类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。
class myClass{
private:
int data;
public:
myClass(int value);//构造函数
myClass(const______another Object);//拷贝构造函数
}
[填空题]
类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。
class Sample{
public:
Sample(int data=0);
Private:
Int data;
};
Sample::Sample(int data){
【10】
}
[单项选择]有如下类声明:
class SAMPLE
int n;
public:
SAMPLE(int i=0):n(i)
void setValue(int n0);
;
下列关于getValue成员函数的实现中,正确的是( )。
A. SAMPLE:.setValue(int n0)n=n0;
B. void SAMPLE::setValue(int n0) n=n0;
C. void setValue(int n0) n=n0;
D. setValue(int n0) n=n0;
[单项选择]有如下类声明:
class SAMPLE
int n;
public :
SAMPLE( int i = 0): n (i)
void setValue( int n0) ;
;
下列关于getValue成员函数的定义中,正确的是( )。
A. SAMPLE: :setValue(int n0) n =n0;
B. void SAMPLE: :setValue(int n0) n =n0;
C. void setValue(int n0) [ n=n0;
D. setValue(int n0) n=n0;
[单项选择]拷贝构造函数的参数一般是
A. 某对象名
B. 某对象成员名
C. 某对象的引用名
D. 指向对象的指针名
[单项选择]通常拷贝构造函数的参数是( )。
A. 某个对象名
B. 某个对象的引用
C. 某个对象的指针
D. 某个对象的成员
[单项选择]下列有关拷贝构造函数的描述中错误的是( )。
A. 拷贝构造函数是一种构造函数
B. 拷贝构造函数与一般的构造函数一样,可以设置多个形参
C. 每一个类中都必须有一个拷贝构造函数
D. 拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象
[单项选择]下列情况中,不会调用拷贝构造函数的是( )。
A. 用一个对象去初始化同一类的另一个新对象时
B. 将类的一个对象赋值给该类的另一个对象时
C. 函数的形参是类的对象,调用函数进行形参和实参结合时
D. 函数的返回值是类的对象,函数执行返回调用时
[单项选择]有如下类模板定义:
template<typename T>
class BigNumbei
long n;
public;
BigNumber(T i):n(i)
BigNumber operator+(BigNumber b)
return:BigNumber(n+b.n);
;
已知b1、b2是BigNumber的两个对象,则下列表达中错误的是( )。
A. b1+b2
B. b1+3
C. 3+b1
D. 3+3
[单项选择]有如下类模板定义:
template <typename T>
class BigNumber
longn;
public:
BigNumber(T i):n(i)
BigNumber operator +(BigNumber b)
return BigNumber(n+b.n);
;
已知b1、b2是BigNumber的两个对象, 则下列表达式中错误的是
A. b1+b2
B. b1+3
C. 3+b1
D. 3+3
[单项选择]假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。
A. MyClass(MyClass x); B) MyClass(MyClass&X);
B. MyClass(&x);
C. MyClass(x);
[单项选择]有如下类定义:
classFoo
{
public:
Foo(intv):value(v){}//①
~Foo(){}//②
private:
Foo(){}//③
intvalue=0;//④
};
其中存在语法错误的行是( )。
A. ①
B. ②
C. ③
D. ④
[单项选择]在下面的类定义中,错误的语句是( )。
class Sample
public:
Sample(int val); //①
~Sample( ); //②
private:
int a=2.5; //③
Sample( ); //④
;
A. ①②③④
B. ②
C. ③
D. ①②③