- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章习题答案讲述
第4章 类与对象
一、选择题
1.标志着C++从面相过程变成面相对象的主要措施是(D)。
A.增加了新的运算符 B.允许函数重载,设置默认参数
C.规定函数声明必须用原型 D.引用了类和对象的概念
2.有关类的说法错误的是(D)。
A.类是一种用户自定义的数据类型
B.只有类中的成员函数才能存取类中的私有数据
C.在类中如果不作特殊说明,所指的数据均为私有类型
D. 在类中如果不作特殊说明,所指的成员函数均为公有类型
3.有关类和对象的说法错误的是(C)。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据类型与变量的关系相似
4.下列关于构造函数的描述中,错误的是(D)。
A.构造函数的函数名与类名相同 B.构造函数可以重载
C.构造函数可以设置默认参数 D.构造函数必须指定类型说明
5.对任意一个类,析构函数的个数最多为(B)个。
A.0 .B.1 C.2 D.4
6.通常拷贝构造函数的参数是(D)。
A.某个对象名 B.某个对象的成员名
C.某个对象的指针名 D.某个对象的引用名
7.已知A是一个类,则执行语句A a;时,将自动调用该类的(B)。
A.有参构造函数 B.无参构造函数
C.拷贝构造函数 D.赋值构造函数
二、简答题
1.比较C++中的结构(struct)和类(class)的概念的相同和不同之处。
答:C++中的结构体与类的概念相同点:结构体与类都属于用户自定义类型。
C++中的结构体与类的概念不同点:结构体定义没有函数部分,而类定义包含数据部分和函数部分。结构体定义中的数据都是公有权限,而类定义限制了成员的访问权限。
2.类中的公有(public)成员和私有(private)成员有什么区别?
答:类中的共有成员既可以被类的成员函数访问,也可以在类外的程序中通过对象被访问;私有成员只能被该类的成员函数和友元函数来访问。
3.构造函数和析构函数的作用是什么?
答:构造函数的作用是创建对象时为数据成员分配存储空间并赋初值。析构函数的作用是在撤销对象时清除并释放内存空间。
4.构造函数是否可以重载?为什么?析构函数呢?
答:构造函数可以重载,因为对于不同的参数输入需要有相应的构造函数与之匹配;而析构函数不可以重载。
5.拷贝构造函数的作用是什么?何时调用拷贝构造函数?
答:拷贝构造函数的作用是对象之间的复制。拷贝构造函数在以下三种情况下会被复制:
(1)用已经存在的对象去初始化创建同类的一个新对象。
(2)对象作为函数的参数(将实参对象拷贝给形参对象)。
(3)函数的返回值为一个对象(将返回对象拷贝给一个临时对象)。
6.分析下面的程序,写出运行结果。
程序(1):
#include iostream.h
class exap
{int x,y;
public:
exap(int a,int b)
{
x=a;y=b;
}
exap(exap P)
{
x=P.x; y=P.y;
}
int set(int x1,int y1)
{
x=x1; y=y1;
}
int geta()
{ return a; }
int getb()
{ return b; }
};
void main()
{
exap A(1,2); exap B=A;
coutA=A.geta(),A.getb()endl;
coutB=B.geta(),B.getb()endl;
B.set(10,20);
coutB=B.geta(),B.getb()endl;
}
运行结果:
1,2
1,2
10,20
程序(2):
#include iostream.h
#include string.h
class example1
{
public:
example1()
{
coutconstructing example1.endl;
}
~example1()
{ coutdestructing example1.endl; }
};
class example2
{
public:
example2()
{ coutconstructing example2 .endl; }
~example2()
{ coutdestructing example2.endl; }
};
void main()
{
example1 stu1;
example2 tea1;
couten
您可能关注的文档
- 第4章-热传导问题的数值解法讲述.ppt
- 第4章-位移、物位传感器讲述.ppt
- 第4章-电容式传感器讲述.ppt
- 第3章计算机系统的软件讲述.ppt
- 第4章C#中的高级概念讲述.ppt
- 第4章--混凝土连续梁桥讲述.ppt
- 第4章Hopfield神经网络-2016讲述.ppt
- 第4章Java图形用户界面讲述.pptx
- 第4章JavaScript语言讲述.ppt
- 第四章关系系统及其查询优化详解.ppt
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
文档评论(0)