C++期末考试复习资料三

这是一份关于C++编程的期末考试复习资料,主要内容涵盖类与对象的基础知识,包括:面向对象的四大特性、访问控制、构造函数、析构函数、成员函数、友元、this指针、内存管理等概念。题目形式包括填空、选择和判断,涉及类的实例化、成员初始化、对象拷贝、动态内存分配等多个方面。解答这些题目有助于巩固C++类和对象的相关知识。
摘要由CSDN通过智能技术生成

习题一
一、填空题
1、面向对象的程序设计有四大特点,它们是抽象、封装、( )、( )。
2、类中的成员使用特定的关键字指定不同的访问特性,其中( )成员是提供给外部的接口,在类中和类外可见。
3、protected成员的访问权限:派生类( )访问protected成员,派生类对象( )访问protected成员,本类的对象( )访问protected成员(填:能与不能)。
4、C++语言中类成员的访问权限包括private、( )和( )。
5、对一个类中的数据成员的初始化可以通过构造函数中的( )实现,也可以通过构造函数中的( )实现。
6、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为( )。
7、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为( )。
8、若类X中没有定义拷贝构造函数,则系统为类X定义的默认拷贝构造函数的原型为( )。
9、类中的成员只能为该类的成员函数及该类的派生类中的成员函数访问,则应加上访问属性( )。
10、假设一个类对象数组为a[m],其中m为常变量,当离开它的作用域时,系统自动调用该类析构函数的次数为( )。
11、设p为指向一个动态对象的指针变量,则执行delete p语句时,将自动调用该类的( )。
12、在一个类中定义了全部是默认参数的构造函数后,不能再定义( )构造函数。
13、假设有一个Test类,则执行“Test a(5),b[2],*p;”语句时,自动调用该类构造函数的次数为( )。
14、若将类A的成员函数“void fun();”定义为一个类B的友元函数,则应在类B的定义中加一条语句:( )。
15、当一个对象作用域结束时,系统自动调用( )函数来释放存储空间。
16、对于类中定义的成员,其默认访问权限为( )。
17、每个对象都有一个指向自身的指针,称为( )指针,通过使用它来确定其自身的地址。
18、一个类有( )个析构函数。
19、在类内定义的( )数据不能被不属于该类的成员函数存取。
20、this指针是一个隐含的指针,它隐含于每个类的( )中。
二、选择题
1、以下关于类和对象的叙述错误的是( )。
A. 对象是类的一个实例
B. 任何一个对象都归属于一个具体的类
C. 一个类只能有一个对象
D. 类与对象的关系和数据类型与变量的关系相似
2、以下关于构造函数的叙述错误的是( )。
A. 构造函数名必须与类名相同
B. 构造函数在定义对象时自动执行
C. 构造函数无任何函数类型
D. 在一个类中构造函数又且仅有一个
3、以下关于析构函数的叙述错误的是( )。
A. 一个类中只能定义一个析构函数
B. 析构函数和构造函数一样可以有形参
C. 析构函数不允许有返回值
D. 析构函数名前必须冠有符号“~”
4、以下叙述正确的是( )。
A. 在类中不作特别说明的数据成员均为私有类型
B. 在类中不作特别说明的成员函数均为公有类型
C. 类成员的定义必须放在类体内
D. 类成员的定义必须是成员变量在前,成员函数在后
5、以下叙述不正确的是( )。
A. 一个类的所有对象都有各自的数据成员,它们共享成员函数
B. 一个类中可以有多个同名的成员函数
C. 一个类中可以有多个构造函数、多个析构函数
D. 类成员的定义必须是成员变量在前,成员函数在后
6、以下不属于构造函数特征的是( )。
A. 构造函数名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置默认参数
D. 构造函数必须指定函数类型
7、下列函数中,是类MyClass的析构函数的是( )。
A. ~Myclass(); B. MyClass(); C. ~MyClass(); D. ~MyClass(int n);
8、关于类和对象不正确的说法是( )。
A. 类是一种类型,它封装了数据和操作
B. 对象是类的实例
C. 一个类的对象只有一个
D. 一个对象必属于某个类
9、在类定义的外部,可以被访问的成员有( )。
A. 所有类成员
B. private或protected的类成员
C. public的类成员
D. public或private的类成员
10、关于this指针的说法错误的是( )。
A. this指针不能被显示说明
B. 当创建一个对象后,this指针就指向该对象
C. 成员函数拥有this指针
D. 静态成员函数拥有this指针
11、下面有关new运算符的描述,错误的是( )。
A. 使用new运算符创建对象时,会调用类的构造函数
B. 使用new运算符创建数组时,必须定义初始值
C. 使用new运算符创建的对象可以使用delete运算符删除
D. new运算符可以用来动态创建对象和对象数组
12、下面关于成员函数的特征中,说法错误的是( )。
A. 成员函数可以重载
B. 成员函数可以是静态的
C. 成员函数一定是内联函数
D. 成员函数可以设置参数的默认值
13、在通常情况下,复制构造函数的参数是

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值