内容发布更新时间 : 2024/11/14 23:48:04星期一 下面是文章的全部内容请认真阅读。
C++面向对象程序设计试题集
一、 填空题(每空2分,共20分)
1. 2.
3. 设a、b、c都是int型变量,则a=(b=4)+(c=2)后,a值为_,b值为 。 在派生类的成员中有公有成员、四类成员。 类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。 class Sample{ public: Sample(int data=0); Private: int data;
};
Sample::Sample(int data){ 4. 面向对象程序设计的
5. 继承发生在利用现有类派生新类时,其中现有类称为 ,或父类;派生的新类称为 ,或 。
6.
7. 若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为 。 已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i-1 的单元,其中1≤i<n。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a 中元素为2,3,4,4。请将语句补充完整:
for(int i=0;i 8. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的 ,共同行为被描述为类中的 。 9. 类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。 class Sample{ public: Sample(int data=0); Private: int data; }; Sample::Sample(int data){ } 10. 实现运行时多态,要使用 函数。 11. 设A为test类的对象且赋有初值,则语句test B(A); 。 12. 在MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。 MyClass::operator=(const MyClass rhs) { if(this=&rhs) return *this; value=rhs. value; return *this; } 13. C++语言中的每条基本语句以 ________作为结束符,每条复合语句以________ 作为结束符。 14. 若p指针指向字符串“ABCDEFGHIJKL”,则语句cout<<*(p+5);的输出结果是________。 15. 当一个函数或一个类希望能够直接访问另一个类中的非公用成员时,应该将该函数 声名为另一个类的________或________。 16. 设px是指向一个类动态对象的指针变量,则执行“delete px”语句时,将自动调用该类的_______函数。 17. C++中没有字符串类型,字符串是通过________来表示的,每一个字符串都有一个结尾字符________。 18. 使用const 语句定义一个标识符常量时,则必须对它同时进行________。 19. 类test的析构函数名是。 20. 建立对象时,为节省内存,系统只给_______分配内存。 21. 类中的数据和成员函数默认访问类型为 。 22. 当建立一个新对象时,程序自动调用_______________。 23. 在C++中,函数的参数有两种传递方式,它们是值传递和________。 24. 若表达式(x+(y-z)*(m/n))+3中的变量均为double。 25. 循环语句:for(int i=50; i>20; i-=2) cout< 26. 任何类中允许有三种访问权限的数据,这三种访问权限分别是 public 27. 类是用户定义的类型,具有类类型的变量称为。当建立一个新对象时,程序自动调用 。 28. 利用成员函数对二元运算符重载,其左操作数为,右操作数为 29. C++将类继承分为 和 两种。 30. 派生类可以定义其_______________中不具备的数据和操作。 31. 有如下类定义: class Sample{ public: Sample(); ~Sample(); private: static int date;}; 将静态数据成员data初始化为0的语句是 。 32. 在保护继承方式下,基类的公有和保护成员成为派生类中的 33. 若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为 。 34. 类test的析构函数名是 35. 在保护继承关系下,基类的公有成员和保护成员将成为派生类中的成员。 36. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的 ,共同行为被描述为类中的 。 37. 在派生类的成员中有私有成员 38. 在继承机制下,当对象消亡时,编译系统先执行 的析构函数,然后才执行派生类中子对象类的析构函数,最后执行 的析构函数。 39. 在C语言中,编程的单位是 在C++语言中,编程的单位是 。 40. 若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为 。 41. 面向对象程序设计的 机制提供了重复利用程序资源的一种途径。 42. 非成员函数应声明为类的 才能访问这个类的private成员。 43. 派生新类的过程一般包括 、 、 三个步骤。 44. C++程序的头文件和源程序文件扩展名分别为和 。 45. 循环语句:for(int i=50; i>20; i-=2) cout< 46. 类中构造函数有 个,析构函数有 个。 47. 有如下类定义: class Sample{ public: Sample(); ~Sample(); private: static int date;}; 将静态数据成员data初始化为0的语句是 。 48. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;”语句后,p所指对象的值为 。 49. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上类名和两个________分隔符。 50. 若需要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句: 。 51. 若要把类外定义的成员函数规定为内联函数,则必须把________关键字放到函数原型或函数头的前面。