C++ 面向对象程序设计试题和答案经典题目
本资源摘要信息涵盖了 C++ 面向对象程序设计的多个方面,包括类和对象、继承、多态性、运算符重载、构造函数、析构函数、友元函数等。下面是对每个问题的详细解释和答案:
一、 填空题
1. 观察以下程序:class point{public: void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;______p1.show()_________//通过对象p1访问show函数_______p.show()_______//通过指针p访问show函数}
答案:p1.show(); p->show();
2. 在 C++ 类中可以包含 ___公共___、___保护_____ 和 ___私有__ 三种具有不同访问控制权的成员。
答案:公共、保护、私有
3. 定义类时,在类头中将使用关键字 __class _____ 来表示类定义的开始。
答案:class
4. 如果一个类中至少有一个纯虚函数,则该类称为_______抽象类_________。
答案:抽象类
5. C++ 类的组成包括数据成员和 _______成员函数________,友元__ 是 ___(是、不是)该类的成员函数。
答案:成员函数,是
6. 友员函数是用关键字 _____friend_______ 修饰的非成员函数。
答案:friend
7. 若有:int i;int &j=i;i=10;j=i+1;则 i=____11_____, j=___11______。
答案:11、11
8. new 的功能是_______分配内存空间______,delete 的功能是______释放内存空间______________。
答案:分配内存空间、释放内存空间
二、 选择题
1. 下列特性中不是面向对象程序设计语言所特有的的是( D )。
答案:模板
2. ( B )是给变量取一个别名,它引入了变量的同意词。
答案:引用
3. 类成员的访问权限中,( )只能被本类的成员函数和其友元函数访问。
答案:私有
4. 关于构造函数,下列说法不正确的是( )。
答案:构造函数有且只有一个
5. 派生类可以访问其基类的( )。
答案:公有和保护成员
6. 下列关于运算符重载的描述中,错误的是( )。
答案:运算符重载不可以改变操作数的个数
7. C++ 语言是从早期的 C 语言逐渐发展演变而来的。与 C 语言相比,它在求解问题方法上进行的最大改进是( )。
答案:面向对象
8. 对于类中定义的成员,其隐含访问权限为( )。
答案:私有
9. 下面有关重载函数的说法中正确的是( )。
答案:重载函数必须有不同的形参列表
10. 有如下的对类“CSample”的说明,其中( )是错误的。
答案:A.int a=23;
11. 在 int a=3,int *p=&a;中,*p 的值是( )。
答案:3
12. 每个类( )构造函数。
答案:可以有多个
13. 在一个类中可以对一个操作符进行( )重载。
答案:多种
14. 在公有继承的情况下,基类非私有成员在派生类中的访问权限( )。
答案:保持不变
15. 应在下列程序划线处填入的正确语句是( )。
答案:Base::fun();
本资源摘要信息涵盖了 C++ 面向对象程序设计的多个方面,包括类和对象、继承、多态性、运算符重载、构造函数、析构函数、友元函数等,能够帮助读者更好地理解和掌握 C++ 面向对象程序设计的知识点。