题目内容 (请给出正确答案)
[单选题]

赋值运算符重载函数与拷贝构造函数的区别是什么()。

A.都是拷贝一个类的对象给另一个同类型的类的对象

B.赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象

C.拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“赋值运算符重载函数与拷贝构造函数的区别是什么()。”相关的问题

第1题

如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )

A、调用拷贝构造函数

B、调用整型参数的构造函数

C、调用赋值运算符

D、引起编译错误

点击查看答案

第2题

下列关于赋值运算符“=”重载的叙述中,正确的是

A.赋值运算符只能作为类的成员函数重载

B.默认的赋值运算符实现了“深层复制”功能

C.重载的赋值运算符函数有两个本类对象作为形参

D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符

点击查看答案

第3题

下列关于赋值运算符“=”重载的叙述中,正确的是

A.赋值运算符只能作为类的成员函数重载

B.默认的赋值运算符实现了“深层复制”功能

C.重载的赋值运算符函数有两个本类对象作为形参

D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符

点击查看答案

第4题

使用VC6打开考生文件夹下的工程test40_3。此工程包含一个test40_3.cpp,其中定义了类CVector,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)完成类CVector构造函数的定义,把传入的int型参数a和b分别赋值给类的成员变量x和y。请在注释“//**1**”之后添加适当的语句。

(2)完成类CVector的“+”运算符重载函数的定义,使Cvector类的两个对象相加时可以直接使用符号“+”,并且结果仍然为类Cvector的对象,请在注释“//**2**”之后添加适当的语句。

(3)在主函数中添加适当的语句,把类Cvector的对象a和b相加,并且把结果保存在对象c中,最后以“x,y”的形式输出在屏幕上,请在注释“//**3**”之后添加适当的语句。

源程序文件test40_3.cpp清单如下:

include <iostream.h>

class CVector

{

public:

int x,y;

CVector () {};

CVector (int,int);

CVector operator + (CVector);

};

CVector::CVector (int a, int b)

{

//**1**

}

CVector CVector::operator+ (CVector param)

{

//**2**

temp.y = y + param.y;

return (temp);

}

int main ()

{

CVector a (3,1);

CVector b (1,2);

CVector c;

//**3**

return 0;

}

点击查看答案

第5题

使用VC6打开考生文件夹下的工程test37_3。此工程包含一个test37_3.cpp,其中定义了类Letter和Number以及Grid,其中Grid类由Letter类和Number类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为'A',该函数把参数c的值赋给类的保护成员ch,请在注释“//**1**”之后添加适当的语句。

(2)添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把参数n的值赋给类的保护成员num,请在注释“//**2**”之后添加适当的语句。

(3)添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋值给基类的ch和num,请在注释“//**3**”之后添加适当的语句。

(4)完成派生类Grid的友元函数——“<<”运算符重载的定义,使其以格式“[g.ch,g.num]”输出,请在注释“//**4 **”之后添加适当的语句。

源程序文件test37_3.cpp清单如下:

include<iost ream. h>

class Letter

{

protected:

char ch;

public:

// ** 1 **

};

class Number

{

protected:

int num;

public:

// ** 2 **

};

class Grid : public Letter, public Number

{

public:

// ** 3 **

friend ostream& operator<<(ostream &o,Grid &g);

};

// ** 4 **

{

o << "[" << g.ch << ", "<< g.num << "]";

return o;

}

int main ( )

{

Grid g('C', 3);

cout << "Grid reference: "<< g << end1;

return 0;

}

点击查看答案

第6题

定义作运算符重载函数的是( )。

A 构造函数

B 析构函数

C 主函数。

D 类以外的函数

点击查看答案

第7题

也可定义作运算符重载函数的是( )。

A 构造函数

B 析构函数

C 成员函数

D 主函数。

点击查看答案

第8题

不可定义作运算符重载函数的是( )。

A 类以外的函数

B 成员函数

C 构造函数

D 友员函数。

点击查看答案

第9题

还可定义作运算符重载函数的是( )。

A 类以外的函数

B 构造函数

C 析构函数

D 主函数。

点击查看答案

第10题

拷贝构造函数是重载的构造函数。()

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信