《面向对象程序设计》练习题库-2010版

2020-03-03 08:58:31下载本文作者:会员上传
简介:写写帮文库小编为你整理了这篇《《面向对象程序设计》练习题库-2010版》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《面向对象程序设计》练习题库-2010版》。

《面向对象程序设计》练习题库-2010版

一、选择题

1.假定p所指对象的值为5,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为()

A.5 B.9 C.6 D.8

2.下面关于对象的描述中,不正确的是()

A.对象是一种数据类型 B.对象可大可小

C.对象具有属性和行为两个要素 D.对象是一种客观存在3.面向对象的程序是()的组合.A.数据结构+算法 B.对象+方法

C.对象+消息 D.对象+算法

4.以下不属于面向对象的程序设计语言的是()

A.C# B.C++ C.Java D.C

5.下面关于构造函数的说法,不正确的是()

A.构造函数没有返回值 B.构造函数不能重载

C.构造函数名称一定要和类名一致 D.构造函数的参数可以缺省

6.下面有关内置函数说法不正确的是()

A.提高执行效率 B.增加目标代码长度

C.与带参宏定义效果一样 D.用于规模小且使用频繁场合7.以下不属于C++关键字的是()

A.mutable B.class C.endl D.static

8.下列关于类和对象的叙述中,错误的是()

A.可以用一个类定义多个对象 B.类比对象大,包含对象

C.类是对某一类对象的抽象 D.对象是类的具体实例

9.下面关于常变量的描述中,不正确的是()

A.用const定义常变量 B.指向常变量的指针即是常指针

C.常变量是不能改变值的变量 D.常成员函数不能修改数据成员

10.假定A为一个类,a为该类私有的数据成员,Get()为该类公有的函数成员,它返回a的值。现有如下语句A t,*p=&t;,则得到t对象中数据成员a的语句为()

A.p.Get();B.t.a;C.p->Get();D.t->a;

11.自减运算符的重载中,函数形参是int,意味着()

A.编译不通过 B.后置自减 C.前置自减 D.2个参数

12.下列语句中,不能定义一个常量的是()

A.#define double PI=3.1414926 B.const double PI=3.1415926;

C.#define PI 3.1415926 D.const static double PI=3.1415926;

13.如果一个类没有定义任何构造函数,下列描述正确的是()

A.该类也就不定义析构函数 B.编译器创建一个不带参数的构造函数

C.该类不能通过编译 D.编译器创建一个带参数的构造函数

14.对于语句 cout << a;,下列描述中不正确的是()

A.“cout”是一个输出流对象 B.该语句输出了a的值

C.“<< ”称作提取运算符 D.该语句需要头文件iostream

15.C++中,下面对结构体和类之间关系的描述中,正确的是()

A.类中的默认权限是私有的,而结构体中默认权限是公有的B.类有函数成员,而结构体没有

C.类有构造函数,而结构体没有

D.类的成员可以定义为私有权限,而结构体成员不能定义为私有权限

16.下面关于友元的说法,不正确的是()

A.友元函数可以是成员函数 B.友元类的函数均是友元函数

C.友元不具备传递性 D.友元的关系是双向的17.下面有关内置函数说法不正确的是()

A.提高执行效率 B.增加目标代码长度

C.与带参宏定义效果一样 D.用于规模小且使用频繁场合18.下面那个描述常成员函数的定义是正确的()

A.const int show()B.int const show()C.int show()const D.int show(const)

19.已有定义virtual int area()=0;下面关于该函数的解释中正确的是()

A.该函数是纯虚函数 B.该函数返回值为0

C.该函数通常在派生函数中声明 D.该函数的入口地址为0

20.下面哪个特性是C++相对于C所特有的()

A.使用了引用的定义 B.使用static关键字

C.使用const关键字 D.使用了指针的定义

21.下列关于C++中运算符重载的描述中,错误的是()

A.运算符重载可以对所有的运算符进行重载

B.重载的运算符,其运算对象可以是自定义的数据类型

C.运算符重载不能改变运算符的优先级

D.运算符的重载实质上是函数的重载

22.通过()方法可以在现有类基础上得到新的类。

A.引用 B.继承 C.包含 D.封装

23.关于赋值运算符,下面哪个说法不成立()

A.必须是类成员函数 B.不能被派生类继承;

C.不能进行运算符重载 D.编译器可以自动生成;

24.下面关于构造函数的说法,不正确的是()

A.构造函数不能重载 B.构造函数没有返回值

C.构造函数名称一定要和类名一致 D.构造函数不能做虚函数

25.下面属于一个C++程序头文件部分的是()

A.类的声明 B.类的实现 C.类的使用 D.类的编译

26.下面关于cin的说明中,不正确的是()

A.是一个对象 B.是一个关键字 C.用于输入 D.配合提取运算符使用

27.下面有关类的静态成员函数说法正确的是()

A.可以访问非静态成员;B.只能访问静态成员;

C.可以是对象的一部分;D.在定义时也要加上static;

28.自减运算符的重载中,函数形参是int,意味着()

A.编译不通过 B.后置自减

C.前置自减 D.2个参数

29.下面有关常成员函数不正确的说法是()

A.只能访问常数据成员 B.不能修改任何数据成员

C.可以访问任何数据成员 D.可以修改一般数据成员

30.对类的常数据成员进行初始化,正确的是()

A.在构造函数中赋值;B.利用公有接口函数对其赋值;

C.利用成员初始化表;D.无法初始化,默认为0;

31.派生类的私有函数成员不可以访问基类的()成员。

A.私有成员 B.公用成员 C.保护成员 D.任何成员

32.作为类的成员函数重载一个运算符时,如果参数表中有一个参数,通常情况下,说明该运算符有()个操作数

A.0 B.1 C.2 D.3

33.C++代码源文件的扩展名应为()

A.c B.cpp C.obj D.exe

34.若在类外可用x.p的形式访问派生类对象x的基类成员p,则p一定是()

A.私有继承的公用成员 B.公有继承的公用成员

C.保护继承的公用成员 D.公有继承的保护成员

35.C++语言相对于C语言的最根本的变化是()

A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数

C.引进了类和对象的概念 D.输入输出使用流对象

36.下面属于一个C++程序头文件部分的是()

A.类的实现 B.类的声明 C.类的对象实例 D.类的编译

37.设置虚基类的目的是()

A.消除二义性 B.方便程序书写

C.减少目标代码体积 D.提高运行效率

38.静态成员函数一定没有()

A.返回值 B.返回类型 C.指针参数 D.*this

39.下面关于友元的说法,不正确的是()

A.友元函数可以是成员函数 B.友元类的函数均是友元函数

C.友元的关系是双向的 D.友元不具备传递性

40.下面有关类的静态成员函数说法正确的是()

A.可以访问非静态成员;B.只能访问静态成员;

C.可以是对象的一部分;D.在定义时也要加上static;

41.以下运算符不能进行运算符重载的是()

A.*= B.sizeof C.= D.&

42.在编译时,将所调用的函数代码嵌入到主调函数中,这种函数称为()

A.内置函数 B.子函数 C.成员函数 D.宏函数

43.下面有关常成员函数不正确的说法是()

A.只能访问常数据成员 B.不能修改任何数据成员

C.可以访问任何数据成员 D.不能访问一般数据成员

44.派生类的私有函数成员不可以访问基类的()成员。

A.私有成员 B.公用成员

C.保护成员 D.任何成员

45.下列关于函数模板与类模板的描述中,不正确的是()

A.函数模板的实例化是由编译程序在处理函数调用时自动完成B.类模板的实例化必须由程序员在程序中显式的指定

C.函数模板与类模板均可以显式调用

D.定义函数模板时可以使用多个类型参数,而类模板不可以

46.下列不属于类定义中的访问限定符的是()

A.private B.public

C.const D.protocted

47.以下说法中,不正确的是()

A.基类的析构函数不能被继承 B.基类的构造函数可以被继承;

C.静态成员函数只能访问静态数据成员;D.静态函数不能声明为虚函数;

48.若在类外可用x.p的形式访问派生类对象x的基类成员p,则p一定是()

A.私有继承的公用成员 B.公有继承的保护成员

C.保护继承的公用成员 D.公有继承的公用成员

49.下面与实现多态性无关的概念是()

A.虚基类 B.虚函数 C.抽象类 D.纯虚函数

50.假定p所指对象的值为6,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为()

A.6 B.9 C.7 D.8

二、填空题

1.C++中,专门用于定义重载运算符的关键字是。

2.假定用户没有给一个名为BASE的类定义析构函数,则系统为其定义的默认析构函数写法为。

3.在C++中,继承间接共同基类时只保留一份成员的方法是。

4.继承关系可以是public、和。

5.常数据成员只能通过构造函数的 初始化。

6.派生类与其基类均有定义int b;则派生类中访问的b是在 中的定义。

7.常对象中的数据成员必须通过_________函数才可以访问。

8.对象将其大部分实现细节隐藏起来,这种机制称为。

9.通常可将含有纯虚函数的类称为,可用该类作为基类去建立派生类。

10.如果希望类的成员为该类所有对象所共享,可以使用关键字________来修饰。

11.在C++中,由继承而产生的新类,它的对象对同一个消息会作出不同的响应,这种特性被称为。

12.从系统实现角度看,C++中的动态多态性是通过 来实现的。

13.在C++中,用于动态分配内存的运算符是。

14.C++支持友元的目的是提高。

15.在类的定义中,如果定义为 函数要求派生类必须实现同名函数。

16.在类的定义中,通常用 函数对类的数据成员进行初始化。

17.如果希望类的成员为该类所有对象所共享,可以使用关键字__ __来修饰。

18.在C++中,用struct定义一个类时,数据成员和成员函数的默认访问权限是。

19.常对象中的私有数据成员必须通过 才可以访问。

20.重载函数在参数类型或 上不同,但函数名相同。派生类与其基类均有定义int b;则派生类中对b的使用是以 的定义为准。

21.已有定义const int a=5;定义一个常指针p指向该变量a的语句是:。

22.语句 cin >> x;中“>>”称为 运算符

23.一般的,系统提供的头文件只包括对成员函数的,而不包括对成员函数的定义。

24.要用对象名访问类成员,类成员的权限必须是 对象的概念中,有静态和动态两种特征,其中静态特征称为,可由数据表示,而动态特征称为行为,可由 表示。

25.在C++中,用 定义一个类型时,数据成员和成员函数的默认访问权限是公有的。

26.重载函数在参数个数或 上不同,但 相同。

27.语句 cin>>x;中“>>”称为 运算符。

28.只能通过构造函数的初始化表初始化。

29.在类定义时,如果在其某个成员后面加上const关键字,则这个成员称为。

30.假定有一个类B,是由类A保护继承而来,有一个类C由A类公开继承而来,根据基类成员在派生类中的访问属性,填写下表。

在A类的访问属性

在B类的访问属性

在C类的访问属性

私有



公有



保护



三、判断题

1.类模版是类的抽象,类是类模版的实例。

2.类的析构函数在删除对象时调用,并可以重载。

3.类中需要共享或共用的数据成员和成员函数均需要用关键字const声明。

4.常数据成员只能通过构造函数的初始化表初始化。

5.基类声明的虚函数再派生类不用再声明。

6.成员函数在类内定义会占用对象的存储空间。

7.面向对象程序设计通过类的继承机制解决了软件重用问题。;

8.抽象类定义的目的是用它作为基类去建立派生类。

9.构造函数有返回值,而析构函数没有返回值。

10.不出现类名,也可以直接定义对象。

11.面向对象的程序是对象和消息的组合,因此就不需要过程设计了。

12.对象的赋值和复制是同一个含义,均是由对象1得到对象2。

13.一般而言,先构造的先析构,后构造的后析构。

14.静态数据成员可以被一般成员函数访问。

15.静态成员函数可以直接访问其他成员函数。

16.指向对象的常指针变量就是指向常对象的指针变量。

17.构造函数不能声明为虚函数,而析构函数可以声明为虚函数。

18.C++允许这样定义函数int Init(int x=5, int y)。

19.多重继承出现的二义性可以用作用域限定的方法消除。

20.基类的构造函数和析构函数是不能被派生类继承的。

21.类所占空间为数据成员和成员函数所占空间之和。

22.类的析构函数可以是虚函数,也可以重载。

23.类是对象的抽象,对象是类的具体实例。

24.类的成员函数不能访问类的私有成员。

25.无论何种继承形式,派生类均不能直接访问基类的私有成员。

26.友元函数必须是一个类成员函数。

27.友元机制破坏了类的信息封装性。

28.实现流插入运算符重载可以使用类成员函数方式。

29.重载运算符函数不能有默认参数。

30.重载多态是一种运行时多态。

31.通过关键字friend可以声明友元。

32.理论上可以将一个运算符重载为执行任意操作。

33.抽象类一定含有至少一个纯虚函数。

四、简答题

1、如果一个派生类包含有成员对象,其构造函数执行顺序是怎样的?

2、什么是虚函数?如何定义虚函数。

3、什么是对象的赋值,它与对象的复制有什么不同?

4、什么叫虚基类,它的主要作用是什么?

5、什么是抽象类,它有什么特点。

6、什么是纯虚函数?应该如何声明?有什么意义?

7、派生类的成员函数如何访问基类的私有成员?

8、为什么要进行运算符重载?

9、面向对象程序设计有哪些基本特征?

10、已知有类Test,公用成员函数display();简要解释语句Test stu1;stu1.display();并指出语句中的“对象”、“方法”和“消息”。

11、什么是面向对象的程序设计?

12、什么是常对象,如何定义常对象,对其访问有什么规定?

13、构造一个派生类需要做哪些工作?

14、什么是对象的复制,它与对象的赋值有什么不同?

15、类模板有什么作用?如何声明一个类模板。

16、类的静态成员具有什么特点和作用?

17、什么是参数初始化表,有什么作用?

18、类的封装性表现在什么地方?

19、什么是内联函数,一般要求内联函数满足哪些条件?

20、什么是友元函数,它有什么优点和不足?

向对象程序设计》练习题库-2010版

一、选择题

1.假定p所指对象的值为5,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为()

A.5 B.9 C.6 D.8

2.下面关于对象的描述中,不正确的是()

A.对象是一种数据类型 B.对象可大可小

C.对象具有属性和行为两个要素 D.对象是一种客观存在3.面向对象的程序是()的组合.A.数据结构+算法 B.对象+方法

C.对象+消息 D.对象+算法

4.以下不属于面向对象的程序设计语言的是()

A.C# B.C++ C.Java D.C

5.下面关于构造函数的说法,不正确的是()

A.构造函数没有返回值 B.构造函数不能重载

C.构造函数名称一定要和类名一致 D.构造函数的参数可以缺省

6.下面有关内置函数说法不正确的是()

A.提高执行效率 B.增加目标代码长度

C.与带参宏定义效果一样 D.用于规模小且使用频繁场合7.以下不属于C++关键字的是()

A.mutable B.class C.endl D.static

8.下列关于类和对象的叙述中,错误的是()

A.可以用一个类定义多个对象 B.类比对象大,包含对象

C.类是对某一类对象的抽象 D.对象是类的具体实例

9.下面关于常变量的描述中,不正确的是()

A.用const定义常变量 B.指向常变量的指针即是常指针

C.常变量是不能改变值的变量 D.常成员函数不能修改数据成员

10.假定A为一个类,a为该类私有的数据成员,Get()为该类公有的函数成员,它返回a的值。现有如下语句A t,*p=&t;,则得到t对象中数据成员a的语句为()

A.p.Get();B.t.a;C.p->Get();D.t->a;

11.自减运算符的重载中,函数形参是int,意味着()

A.编译不通过 B.后置自减 C.前置自减 D.2个参数

12.下列语句中,不能定义一个常量的是()

A.#define double PI=3.1414926 B.const double PI=3.1415926;

C.#define PI 3.1415926 D.const static double PI=3.1415926;

13.如果一个类没有定义任何构造函数,下列描述正确的是()

A.该类也就不定义析构函数 B.编译器创建一个不带参数的构造函数

C.该类不能通过编译 D.编译器创建一个带参数的构造函数

14.对于语句 cout << a;,下列描述中不正确的是()

A.“cout”是一个输出流对象 B.该语句输出了a的值

C.“<< ”称作提取运算符 D.该语句需要头文件iostream

15.C++中,下面对结构体和类之间关系的描述中,正确的是()

A.类中的默认权限是私有的,而结构体中默认权限是公有的B.类有函数成员,而结构体没有

C.类有构造函数,而结构体没有

D.类的成员可以定义为私有权限,而结构体成员不能定义为私有权限

16.下面关于友元的说法,不正确的是()

A.友元函数可以是成员函数 B.友元类的函数均是友元函数

C.友元不具备传递性 D.友元的关系是双向的17.下面有关内置函数说法不正确的是()

A.提高执行效率 B.增加目标代码长度

C.与带参宏定义效果一样 D.用于规模小且使用频繁场合18.下面那个描述常成员函数的定义是正确的()

A.const int show()B.int const show()C.int show()const D.int show(const)

19.已有定义virtual int area()=0;下面关于该函数的解释中正确的是()

A.该函数是纯虚函数 B.该函数返回值为0

C.该函数通常在派生函数中声明 D.该函数的入口地址为0

20.下面哪个特性是C++相对于C所特有的()

A.使用了引用的定义 B.使用static关键字

C.使用const关键字 D.使用了指针的定义

21.下列关于C++中运算符重载的描述中,错误的是()

A.运算符重载可以对所有的运算符进行重载

B.重载的运算符,其运算对象可以是自定义的数据类型

C.运算符重载不能改变运算符的优先级

D.运算符的重载实质上是函数的重载

22.通过()方法可以在现有类基础上得到新的类。

A.引用 B.继承 C.包含 D.封装

23.关于赋值运算符,下面哪个说法不成立()

A.必须是类成员函数 B.不能被派生类继承;

C.不能进行运算符重载 D.编译器可以自动生成;

24.下面关于构造函数的说法,不正确的是()

A.构造函数不能重载 B.构造函数没有返回值

C.构造函数名称一定要和类名一致 D.构造函数不能做虚函数

25.下面属于一个C++程序头文件部分的是()

A.类的声明 B.类的实现 C.类的使用 D.类的编译

26.下面关于cin的说明中,不正确的是()

A.是一个对象 B.是一个关键字 C.用于输入 D.配合提取运算符使用

27.下面有关类的静态成员函数说法正确的是()

A.可以访问非静态成员;B.只能访问静态成员;

C.可以是对象的一部分;D.在定义时也要加上static;

28.自减运算符的重载中,函数形参是int,意味着()

A.编译不通过 B.后置自减

C.前置自减 D.2个参数

29.下面有关常成员函数不正确的说法是()

A.只能访问常数据成员 B.不能修改任何数据成员

C.可以访问任何数据成员 D.可以修改一般数据成员

30.对类的常数据成员进行初始化,正确的是()

A.在构造函数中赋值;B.利用公有接口函数对其赋值;

C.利用成员初始化表;D.无法初始化,默认为0;

31.派生类的私有函数成员不可以访问基类的()成员。

A.私有成员 B.公用成员 C.保护成员 D.任何成员

32.作为类的成员函数重载一个运算符时,如果参数表中有一个参数,通常情况下,说明该运算符有()个操作数

A.0 B.1 C.2 D.3

33.C++代码源文件的扩展名应为()

A.c B.cpp C.obj D.exe

34.若在类外可用x.p的形式访问派生类对象x的基类成员p,则p一定是()

A.私有继承的公用成员 B.公有继承的公用成员

C.保护继承的公用成员 D.公有继承的保护成员

35.C++语言相对于C语言的最根本的变化是()

A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数

C.引进了类和对象的概念 D.输入输出使用流对象

36.下面属于一个C++程序头文件部分的是()

A.类的实现 B.类的声明 C.类的对象实例 D.类的编译

37.设置虚基类的目的是()

A.消除二义性 B.方便程序书写

C.减少目标代码体积 D.提高运行效率

38.静态成员函数一定没有()

A.返回值 B.返回类型 C.指针参数 D.*this

39.下面关于友元的说法,不正确的是()

A.友元函数可以是成员函数 B.友元类的函数均是友元函数

C.友元的关系是双向的 D.友元不具备传递性

40.下面有关类的静态成员函数说法正确的是()

A.可以访问非静态成员;B.只能访问静态成员;

C.可以是对象的一部分;D.在定义时也要加上static;

41.以下运算符不能进行运算符重载的是()

A.*= B.sizeof C.= D.&

42.在编译时,将所调用的函数代码嵌入到主调函数中,这种函数称为()

A.内置函数 B.子函数 C.成员函数 D.宏函数

43.下面有关常成员函数不正确的说法是()

A.只能访问常数据成员 B.不能修改任何数据成员

C.可以访问任何数据成员 D.不能访问一般数据成员

44.派生类的私有函数成员不可以访问基类的()成员。

A.私有成员 B.公用成员

C.保护成员 D.任何成员

45.下列关于函数模板与类模板的描述中,不正确的是()

A.函数模板的实例化是由编译程序在处理函数调用时自动完成B.类模板的实例化必须由程序员在程序中显式的指定

C.函数模板与类模板均可以显式调用

D.定义函数模板时可以使用多个类型参数,而类模板不可以

46.下列不属于类定义中的访问限定符的是()

A.private B.public

C.const D.protocted

47.以下说法中,不正确的是()

A.基类的析构函数不能被继承 B.基类的构造函数可以被继承;

C.静态成员函数只能访问静态数据成员;D.静态函数不能声明为虚函数;

48.若在类外可用x.p的形式访问派生类对象x的基类成员p,则p一定是()

A.私有继承的公用成员 B.公有继承的保护成员

C.保护继承的公用成员 D.公有继承的公用成员

49.下面与实现多态性无关的概念是()

A.虚基类 B.虚函数 C.抽象类 D.纯虚函数

50.假定p所指对象的值为6,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为()

A.6 B.9 C.7 D.8

二、填空题

1.C++中,专门用于定义重载运算符的关键字是。

2.假定用户没有给一个名为BASE的类定义析构函数,则系统为其定义的默认析构函数写法为。

3.在C++中,继承间接共同基类时只保留一份成员的方法是。

4.继承关系可以是public、和。

5.常数据成员只能通过构造函数的 初始化。

6.派生类与其基类均有定义int b;则派生类中访问的b是在 中的定义。

7.常对象中的数据成员必须通过_________函数才可以访问。

8.对象将其大部分实现细节隐藏起来,这种机制称为。

9.通常可将含有纯虚函数的类称为,可用该类作为基类去建立派生类。

10.如果希望类的成员为该类所有对象所共享,可以使用关键字________来修饰。

11.在C++中,由继承而产生的新类,它的对象对同一个消息会作出不同的响应,这种特性被称为。

12.从系统实现角度看,C++中的动态多态性是通过 来实现的。

13.在C++中,用于动态分配内存的运算符是。

14.C++支持友元的目的是提高。

15.在类的定义中,如果定义为 函数要求派生类必须实现同名函数。

16.在类的定义中,通常用 函数对类的数据成员进行初始化。

17.如果希望类的成员为该类所有对象所共享,可以使用关键字__ __来修饰。

18.在C++中,用struct定义一个类时,数据成员和成员函数的默认访问权限是。

19.常对象中的私有数据成员必须通过 才可以访问。

20.重载函数在参数类型或 上不同,但函数名相同。派生类与其基类均有定义int b;则派生类中对b的使用是以 的定义为准。

21.已有定义const int a=5;定义一个常指针p指向该变量a的语句是:。

22.语句 cin >> x;中“>>”称为 运算符

23.一般的,系统提供的头文件只包括对成员函数的,而不包括对成员函数的定义。

24.要用对象名访问类成员,类成员的权限必须是 对象的概念中,有静态和动态两种特征,其中静态特征称为,可由数据表示,而动态特征称为行为,可由 表示。

25.在C++中,用 定义一个类型时,数据成员和成员函数的默认访问权限是公有的。

26.重载函数在参数个数或 上不同,但 相同。

27.语句 cin>>x;中“>>”称为 运算符。

28.只能通过构造函数的初始化表初始化。

29.在类定义时,如果在其某个成员后面加上const关键字,则这个成员称为。

30.假定有一个类B,是由类A保护继承而来,有一个类C由A类公开继承而来,根据基类成员在派生类中的访问属性,填写下表。

在A类的访问属性

在B类的访问属性

在C类的访问属性

私有



公有



保护



三、判断题

1.类模版是类的抽象,类是类模版的实例。

2.类的析构函数在删除对象时调用,并可以重载。

3.类中需要共享或共用的数据成员和成员函数均需要用关键字const声明。

4.常数据成员只能通过构造函数的初始化表初始化。

5.基类声明的虚函数再派生类不用再声明。

6.成员函数在类内定义会占用对象的存储空间。

7.面向对象程序设计通过类的继承机制解决了软件重用问题。;

8.抽象类定义的目的是用它作为基类去建立派生类。

9.构造函数有返回值,而析构函数没有返回值。

10.不出现类名,也可以直接定义对象。

11.面向对象的程序是对象和消息的组合,因此就不需要过程设计了。

12.对象的赋值和复制是同一个含义,均是由对象1得到对象2。

13.一般而言,先构造的先析构,后构造的后析构。

14.静态数据成员可以被一般成员函数访问。

15.静态成员函数可以直接访问其他成员函数。

16.指向对象的常指针变量就是指向常对象的指针变量。

17.构造函数不能声明为虚函数,而析构函数可以声明为虚函数。

18.C++允许这样定义函数int Init(int x=5, int y)。

19.多重继承出现的二义性可以用作用域限定的方法消除。

20.基类的构造函数和析构函数是不能被派生类继承的。

21.类所占空间为数据成员和成员函数所占空间之和。

22.类的析构函数可以是虚函数,也可以重载。

23.类是对象的抽象,对象是类的具体实例。

24.类的成员函数不能访问类的私有成员。

25.无论何种继承形式,派生类均不能直接访问基类的私有成员。

26.友元函数必须是一个类成员函数。

27.友元机制破坏了类的信息封装性。

28.实现流插入运算符重载可以使用类成员函数方式。

29.重载运算符函数不能有默认参数。

30.重载多态是一种运行时多态。

31.通过关键字friend可以声明友元。

32.理论上可以将一个运算符重载为执行任意操作。

33.抽象类一定含有至少一个纯虚函数。

四、简答题

1、如果一个派生类包含有成员对象,其构造函数执行顺序是怎样的?

2、什么是虚函数?如何定义虚函数。

3、什么是对象的赋值,它与对象的复制有什么不同?

4、什么叫虚基类,它的主要作用是什么?

5、什么是抽象类,它有什么特点。

6、什么是纯虚函数?应该如何声明?有什么意义?

7、派生类的成员函数如何访问基类的私有成员?

8、为什么要进行运算符重载?

9、面向对象程序设计有哪些基本特征?

10、已知有类Test,公用成员函数display();简要解释语句Test stu1;stu1.display();并指出语句中的“对象”、“方法”和“消息”。

11、什么是面向对象的程序设计?

12、什么是常对象,如何定义常对象,对其访问有什么规定?

13、构造一个派生类需要做哪些工作?

14、什么是对象的复制,它与对象的赋值有什么不同?

15、类模板有什么作用?如何声明一个类模板。

16、类的静态成员具有什么特点和作用?

17、什么是参数初始化表,有什么作用?

18、类的封装性表现在什么地方?

19、什么是内联函数,一般要求内联函数满足哪些条件?

20、什么是友元函数,它有什么优点和不足?

下载《面向对象程序设计》练习题库-2010版word格式文档
下载《面向对象程序设计》练习题库-2010版.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《面向对象程序设计》教学大纲

    《面向对象程序设计》教学大纲 课程名称:信息内容安全 课程代码:042504 总 学 时:64 学分:2 课程类型:专业必修课 适用专业: 信息安全专业 制 订 人:徐雪飞 审 定 人:肖文 制订日期......

    《面向对象程序设计》教学大纲

    《面向对象程序设计》教学大纲 课程名称:面向对象程序设计 英文名称:Object Oriented Programming) 学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业 一、 本课程的性质......

    面向对象程序设计教学大纲

    面向对象程序设计(专业限选课) Object-Oriented Programming 【课程编号】XZ26175 【学分数】3 【学时数】60=38+22 【课程类别】专业限选 【编写日期】2010.3.30 【先修课程......

    面向对象程序设计心得体会

    这次课程设计让我收获到很多,上个学期我们也有过课程设计,但是我们都是从网上下一个程序,连带着报告,看一遍程序,修改修改报告,然后就直接去答辩,都是糊弄糊弄就过去了,自己根本就没......

    《面向对象程序设计》课程教学大纲

    《面向对象程序设计》课程教学大纲学时:72 学分:4 理论学时:52 实验学时:20 面向专业:计算机科学与技术、专升本 课程代码:2700410 先开课程:计算机导论,C语言程序设计 课程性......

    java面向对象程序设计教案

    武汉大学珞珈学院 系/教研室 Java 面 向 对 象 程 序 设 计 课 教 案 主讲教师:熊春秀 编写时间:2011-4-30 第一章:概述 第 1、2 节:面向对象的基本概念、面向对象程序设计概述......

    JAVA面向对象程序设计教学大纲

    《JAVA面向对象程序设计》课程教学大纲 Oriented object Programming in JAVA 编号: 08065121 适用专业:计算机科学与技术、网络工程 学时数:32 学分数:2 执笔者:田小玲 编写日......

    面向对象程序设计-教学大纲-信管

    面向对象程序设计(教学大纲) Object-oriented programming 课程编码:05405170 学分:2.5 课程类别: 专业基础课 计划学时:48 其中讲课:32 实验或实践: 上机:16 适用专业:信息管理与信......