类和对象习题

更新时间:2024-01-06 19:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1、在类中说明的成员可以使用关键字的是() A. public B. extern C. cpu

D. register

2、下列不能作为类的成员的是() A. 自身类对象的指针 B. 自身类对象

C. 自身类对象的引用 D. 另一个类的对象

3、关于对象概念的描述中,说法错误的是() A. 对象就是C语言中的结构变量

B. 对象代表着正在创建的系统中的一个实体 C. 对象是类的一个变量

D. 对象之间的信息传递是通过消息进行的

4、下列不是描述类的成员函数的是() A. 构造函数 B. 析构函数 C. 友元函数

D. 拷贝构造函数

5、下面有关类说法不正确的是() A. 一个类可以有多个构造函数 B. 一个类只有一个析构函数 C. 析构函数需要指定参数

D. 在一个类中可以说明具有类类型的数据成员

6、在面向对象的程序设计中,首先在问题域中识别出若干个 () A. 函数 B. 类 C. 文件 D. 过程

7、已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明() A. f1和f2都是静态函数

B. f1不是静态函数,f2是静态函数 C. f1是静态函数,f2不是静态函数 D. f1和f2都不是静态函数

8、类的析构函数是对一个对象进行以下哪种操作时自动调用的是() A. 建立 B. 撤销 C. 赋值 D. 引用

9、在C++语言中,数据封装要解决的问题是() A. 数据的规范化 B. 便于数据转换 C. 避免数据丢失

D. 防止不同模块之间数据的非法访问

10、下面对静态数据成员的描述中,正确的是() A. 静态数据成员可以在类体内进行初始化

B. 静态数据成员可以直接用类名或者对象名来调用 C. 静态数据成员不能用private控制符修饰 D. 静态数据成员不可以被类的对象调用

二、填空题

1、 函数在对象被创建是自动执行,对象消失时自动执行的成员函数是 。

2、 在C++语言中,访问一个对象的成员所用的成员运算符是___。 3、定义___函数时,应在参数个数或参数类型上有所不同。

4、在用class定义一个类时,数据成员和成员函数的默认访问权限是___。 5、在构造函数和析构函数中调用虚函数时采用___。

6、将指向对象的引用作为函数的形参,形参是对象的引用,实参是 ___。 7、类实现了面向对象程序设计的 特性。

8、对赋值运算符进行重载时,应声明为___函数。

9、如果类的所有对象共享一个成员,则称该成员为 。 10、局部对象和全局对象中,在同一程序中___生存期最长。

三、程序分析题

1、#include class A {public: A()

{cout<<\构造函数\n\virtual void fun()

{cout<<\函数\n\};

class B:public A {public: B()

{cout<<\构造函数\n\

void fun() {cout<<\函数\n\};

void main() {B d;}

2、#include class example {int a; public:

example(int b=5){a=b++;}

void print(){a=a+1;cout <

void main() {example x;

const example y(2); x.print(); y.print(); }

3、#include class test {int x; public:

test(int i=0):x(i){} virtual void fun1()

{cout << \};

class ft:public test {int y; public:

void fun1(){cout <<\ft(int i=2):test(i),y(i){} };

void main() { ft ft1(3);

void (test::*p)(); p=test::fun1; (ft1.*p)();

}

四、简答题

析构函数被自动调用的几种情况分别是哪些?

五、编程题

定义一个Box(盒子)类,在该类定义中包括数据成员:length(长),width(宽),和height(高)。成员函数:构造函数Box设置盒子长,宽,高三个数据;函数volume计算并输出盒子的体积。从键盘输出长,宽,高,并求盒子的体积

本文来源:https://www.bwwdw.com/article/4c7x.html

Top