C面向对象程序设计重点复习资料(精)

合集下载

C(面向对象的程序设计)考前必背的名词解释和简答题

C(面向对象的程序设计)考前必背的名词解释和简答题

C++(面向对象的程序设计)考前必背的名词解释和简答题1. 封装封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。

例如C++中的类,它定义了该集合中每个对象所共有的属性和方法。

2. 继承继承是让某个类型的对象获得另一个类型的对象的特征。

例如:C++中子类对父类的继承,子类具有父类的特性,同时还可以拥有自己的新特性。

3. 多态多态是指不同类型的对象接收相同的消息时产生不同的行为。

多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减小代码的复杂度。

例如函数的重载。

4. 什么是this 指针?为什么要用this 指针?this 指针是类中的一个特殊指针,当类实例化时,this 指针指向对象自己;而在类的声明时,指向类本身。

通过它不仅可以提升成员函数操作的效率,而且能简化运算符重载代码。

5. 叙述公有、私有、保护成员在类中、类外和对象中的访问权限。

类中的关键字public, private, protected 声明了类中的成员与类外之间的关系,称为访问权限。

对于public 成员来说,他们是公有的,可以在类外和对象中访问。

对于private 成员来说,他们是私有的,不能在类外和对象中访问,数据成员只能由类中的函数使用,成员函数只允许在类中调用。

对于protected 成员来说,他们是受保护的,具有半公开性质,可以在类中与子类中访问。

6. 构造函数和析构函数的作用是什么?构造函数的功能是在创建对象时,给数据成员赋初值,即给对象初始化。

析构函数的功能是释放一个对象,在对象删除前,用来做一些内存释放等清理工作。

7. 什么是类的继承和派生?继承是指一个事物可以继承其父辈全部或部分的特性,同时本身还有自己的特性。

当一个新类从一个已定义的类中派生后,新类不仅继承了原有类的属性和方法,并且还拥有自己新的属性和方法,称为类的继承和派生。

8. 派生类public 继承方式有那些特点?(1)在派生类中,基类的公有成员、保护成员和私有成员的访问属性保持不变。

面向对象程序设计复习要点

面向对象程序设计复习要点

《面向对象程序设计》总复习第一部分各章复习要点第1章C++一、基本知识1.面向对象程序设计的基本概念●类、对象、属性、方法2.面向对象程序设计的特点●封装、继承、多态二、基本技能1.VC++6.0编程环境的使用●编辑、编译、运行、查错●调试由多个文件组成的程序2.cin和cout的使用第2章数据类型与表达式1.数据的存储●基本类型:整型、实型、字符型、布尔型●构造类型:结构、联合、枚举2.数据的表示●常量、变量3.符号的表示●运算符、表达式第3章C++控制结构一、基本知识1.语句概述●控制语句●函数语句●表达式语句●空语句2.语句要点●格式、执行过程、注意事项二、基本技能1.递推法程序设计●前项推后项●外加循环控制2.穷举法程序设计●用循环列出所有情况●找出满足条件的情况第4章函数一、基本知识1.函数的概念●函数的声明●函数的定义●函数的调用2.函数●数据传递:主函数→子函数,子函数→主函数3.变量的存储类型●动态●静态●寄存器4.变量的作用域●全局变量●局部变量二、基本技能1.嵌套函数设计●并列定义嵌套调用2.递归函数设计●由未知推向已知的递推公式●格式:If 已知else 递推3.重载函数设计●相同:函数名●不同:函数类型、参数(个数或类型)4.函数技巧●内联函数、外联函数●带默认参数值的函数●引用第5章数组、指针与字符串一、基本知识1.数组的概念●一维数组●二维数组●字符数组2.指针●如何获取各种数据的指针●如何用指针表示各种数据●用指针处理数据的优势二、基本技能1.排序●选择法排序●冒泡法排序2.字符串处理●输入●处理:比较、赋值、连接●输出3.指针●指针的定义●指针的获取●用指针表示数据第6章类和对象一、基本知识1.类2.对象3.构造函数4.析构函数5.拷贝构造函数6.友元7.组合类二、基本技能1.构造类●数据●函数(构造函数、析构函数、拷贝构造函数)2.友元函数●定义与使用3.静态成员●定义与使用4.对象数组5.对象指针第7章继承与派生一、基本知识1.继承2.继承方式3.继承的分类4.继承的二义性5.虚基类6.虚函数与纯虚函数7.抽象类二、基本技能1.构造派生类●构造函数、析构函数、拷贝构造函数2.继承要点●子类的对象如何使用基类的成员●子类的成员如何使用基类的成员第8章多态性一、基本知识1.多态性2.运算符重载二、基本技能1.单目运算符重载●前置运算符重载●后置运算符重载2.双目运算符重载3.运算符重载为友元函数●解决重载的二义性第9章模板一、基本知识1.函数模板2.类模板二、基本技能1.函数模板●定义和使用2.类模板●定义和使用第10章输入输出流一、基本知识1.控制格式2.文件二、基本技能文件编程要点●定义文件对象●打开文件●读写数据●关闭文件第二部分复习要点(一)基本概念1.类(构造函数、析构函数、拷贝构造函数)和对象2.面向对象程序的特点3.重载函数4.友元函数5.虚基类6.虚函数、纯虚函数7.抽象类8.模板函数、模板类9.文件类(二)基本技能1.构造类2.构造派生类(单继承、多继承)3.构造抽象类4.定义重载函数5.定义友元函数6.定义运算符的重载7.定义模板函数8.文件对象的使用第三部分主要问题(一)基本概念1.面向对象程序设计的特点是什么?2.类有哪些成分组成?3.构造函数、析构函数和拷贝构造函数的作用?4.重载函数、友元函数的作用?5.类的继承方式有哪些?对子类的对象有何影响?6.虚基类的作用?7.虚函数、纯虚函数的作用?8.运算符重载的作用?9.模板函数、模板类的作用?10.抽象类的作用?(二)基本技能1.面向对象程序设计的技巧有哪些?2.面向对象程序实现软件复用的方法有哪些?3.面向对象程序设计的多态性体现在哪些方面?。

C#面向对象程序设计学习知识点汇集.doc

C#面向对象程序设计学习知识点汇集.doc

C#面向对象程序设计知识点汇集第一章: C#入门1. namespace 关字namespace 即命名空,是定命名空的关字,命名空包含,是的方式。

namespace 命名空名{(); ”的功⋯ MainMainMainMain ET!");”的功能是向示屏出双引号之的字符串。

句“能是入一个字符串6. C#程序构C#程序的成要素如下:1) 命名空:命名空包含一个或多个。

2) 。

3) 方法:方法必包含在某一个中,作的一个成,每个程序有且有一个Main() 方法。

4)句:句是 C#用程序中行操作的命令。

C#中的句必用分号“ ;” 束。

5)关字:关字也叫保留字,是C#有特定意的字符串。

6)大括号:在 C#中,括号“ {”和“ }”是一种范志,表示代次的一种方式。

7. C#程序写格式1)2)字母大小写C#是大小写敏感的言,它把同一字母的大小写当作两个不同的字符待。

3) 程序注(1) 行注,以双斜“方法名称接受参数返回值类型功能Read() 无int 从输入流读入下一个字符ReadLine() 无string 从输入流读入一行文本,直到换行符结束Write() string void 输出一行文本WriteLine() string void 输出一行文本,并在结尾处自动换行MainET 框架具有两个主要件:____________________ 和 ____________________ 。

(2) 使用开的每一个用程序称__________ ,它可以包括一个或多个__________ 。

(3) 命名空是的方式,C#提供了关字__________ 来声明命名空,提供了关字____________________ 来入命名空;如果要使用某个命名空中的,需要添加命名空所在 __________ 的引用。

(4) C#言程序必包含并且只能包含一个的方法(函数 )是 __________ ,它是程序的入口点。

c++面向对象程序设计知识点

c++面向对象程序设计知识点

C++面向对象程序设计知识点一、概述在计算机科学中,面向对象程序设计是一种常见的程序设计范式,C++作为一种广泛应用的编程语言,也支持面向对象程序设计。

面向对象程序设计强调对象和类的概念,通过封装、继承和多态等特性来组织和管理代码,提高代码的重用性、可维护性和可扩展性。

本文将介绍C++面向对象程序设计的一些重要知识点,帮助读者更好地理解和应用面向对象程序设计。

二、类与对象1. 类的定义在C++中,类是一种用户自定义的数据类型,用于描述具有相似属性和方法的对象集合。

类的定义包括类名、属性和方法等成员,以及访问控制修饰符(public、private、protected)等。

```cppclass Person {public:string name;int age;void display();};```2. 对象的创建对象是类的实例化,通过类创建对象的过程称为实例化。

通过类名和对象名来创建对象,对象可以访问类的成员变量和方法。

```cppPerson p; // 创建一个Person对象 = "Alice";p.age = 25;p.display();```三、封装1. 成员访问控制C++中的访问控制修饰符包括public、private和protected,用于限制类的成员的访问权限。

其中,public成员可以在任何地方访问,private成员只能在类内访问,protected成员可以在派生类中访问。

```cppclass Person {public:string name;private:int age;protected:void display();};```2. 封装性封装性是面向对象程序设计的重要特点,通过访问控制和成员函数等方式,将类的实现细节隐藏起来,使外部无法直接访问和修改类的成员。

这样可以提高类的安全性和可维护性。

四、继承1. 继承的基本概念继承是面向对象程序设计的另一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。

C面向对象程序涉及复习要点重点复习PPT课件

C面向对象程序涉及复习要点重点复习PPT课件
• 对内存的使用—只读不可写(写在首次/初始化完成)。 • 常对象
const Time t; 或:Time const t; • 常数据成员
const int hour; • 常成员函数
void get_time() const;
第26页/共74页
• 指向对象的常指针 Time * const p1 = & t1;
D
第4页/共74页
• 变量的引用* 函数传值与函数传地址 对比引用与指针:P19 例1.10&1.11
• 内置函数 inline 作用:空间换时间
• 作用域运算符 ::
第5页/共74页
• 字符串变量 string 定义,与字符数组的关系 赋值 字符串操作:复制、连接、比较
• new和delete运算符
• 指向常对象的指针变量 const Time *p1 = & t1;
• 对象的常引用 const Time &t= t1; void fun( const Time & t ); { //不可改变t的值}
第27页/共74页
对象的动态建立和释放
• new & delete Box *pt; pt = new Box; delete pt;
友元成员函数:friend void Time::display(Date &);
• 友元类
允许另一个类或函数访问你的类的东西。 Class A{ Private:int i=0; Friend class b //声明 } Class B{} Void main() { A a1=new A();
第1章复习要点
• 简单的C++程序
#include <iostream> // 用cout输出时需要用 // 此头文件

C++面向对象程序设计总复习

C++面向对象程序设计总复习
C++面向对象程序设计 面向对象程序设计
总复习考试纲要
1
• 第一部分
• • • • • • • • • •
C++基础知识与语法辨析(35%) C++基础知识与语法辨析(35%) 基础知识与语法辨析
1.关于C C++语言的理解 1.关于C和C++语言的理解 关于 2.C++关于函数的新特性 2.C++关于函数的新特性 3.类与对象的概念 3.类与对象的概念 4. 类间的关系
7
2.C++关于函数的新特性 关于函数的新特性
(1)函数的调用方式 (1)函数的调用方式
传值、传址、引用中的引用调用对实参的要求 传值、传址、引用中的引用调用对实参的要求 传值:形参是变量,实参是表达式(特别地,可为常量、 传值:形参是变量,实参是表达式(特别地,可为常量、 变量) 变量) 传址:形参是指针、数组名,实参是地址值(变量地址、 传址:形参是指针、数组名,实参是地址值(变量地址、 指针变量、数组名) 指针变量、数组名) 引用:形参是引用,实参是变量名。 引用:形参是引用,实参是变量名。 当发生函数调用时,主调函数将实参传递给被调函数, 当发生函数调用时,主调函数将实参传递给被调函数,在 被调函数执行过程中, 被调函数执行过程中,实参的值仅在以下情况下会改变 传址:通过指针间接改变;数组元素可以改变( 传址:通过指针间接改变;数组元素可以改变(数组指 针不可改变) 针不可改变) 对象引用作函数参数比用对象指针更方便些
5
1.关于 和C++语言的理解 关于C和 关于 语言的理解
(2)面向对象的程序设计语言必须具备的关键 面向对象的程序设计语言必须具备的关键 要素是

面向对象程序设计复习资料

面向对象程序设计复习资料

面向对象程序设计复习资料第2章面向对象思维建立面向对象程序设计的特征:①模块化;②抽象化;③封装;④可组合;⑤继承;⑥软件持续使用时间更长。

面向对象思维分为两步:一是需求分析,识别出有哪些对象,它们分别做什么事(who&&what);二是如何利用对象协作完成一件完整的事情(how)。

·类与对象的概念和关系:1)类是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐蔽。

在面向对象程序设计中,程序模块是由类构成。

类是对逻辑相关的函数与数据的封装,它是对问题的抽象描述。

C++的语法提供了对自定义类型的支持,这就是类。

正如基本数据类型中隐含的数据和操作,因此在定义一个类时也要说明数据和操作。

2)类实际上是一种抽象机制,它描述了一类为问题的属性和行为,即类描述了一类对象的数据存储和操作特征。

每一个怪物都有一些共同的静态特征,这些共同的特征抽象到类中,统称为该类的属性,属性通过声明普通变量来实现。

每一个怪物都有一些共同的动态行为,这些共同的行为抽象到类中,统称为该类的操作,操作通过声明普通变量来实现。

怪物类伪类图:第3章面向对象思维建模UML:统一建模语言或标准建模语言1)类图:常见的UML图,显示了建模的静态结构,特别是模型中存在的类、类的内部结构以及他们与其他类的关系等。

类与类之间的常见关系:①依赖关系:依赖关系的偶然性和临时性——人依赖船②聚合关系:整体与部分之间是可分离的③继承关系:含义:儿子类继承父亲类,不仅继承所有属性和行为,还自己拓展2)时序图:也称为序列图或循序图或顺序图,是一种UML交互图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

类图表示“不因时间而变化的部分(静态关系)”;时序图表示“随时间而变化的部分(动态行为)”时序图的元素组成和绘制流程:对象:类的实例;三种状态——激活、运行、销毁生命线:对象在一段时间内的存在激活:对象操作的执行消息:对象之间的通信机制(五类:递归调用、普通操作、返回消息、导步调用)3)用例图:指由参与者、用例以及他们之间的关系构成的用于描述系统功能的视图。

C(面向对象的程序设计)考前必背的名词解释和简答题

C(面向对象的程序设计)考前必背的名词解释和简答题

C++(面向对象的‎程序设计)考前必背的‎名词解释和‎简答题1. 封装封装是将数‎据和代码捆‎绑到一起,避免了外界‎的干扰和不‎确定性。

例如C++中的类,它定义了该‎集合中每个‎对象所共有‎的属性和方‎法。

2. 继承继承是让某‎个类型的对‎象获得另一‎个类型的对‎象的特征。

例如:C++中子类对父‎类的继承,子类具有父‎类的特性,同时还可以‎拥有自己的‎新特性。

3. 多态多态是指不‎同类型的对‎象接收相同‎的消息时产‎生不同的行‎为。

多态机制使‎具有不同内部结构‎的对象可以‎共享相同的‎外部接口,通过这种方‎式减小代码‎的复杂度。

例如函数的‎重载。

4. 什么是this 指针?为什么要用‎this 指针?this 指针是类中‎的一个特殊‎指针,当类实例化‎时,this 指针指向对‎象自己;而在类的声明‎时,指向类本身‎。

通过它不仅‎可以提升成‎员函数操作‎的效率,而且能简化运算符‎重载代码。

5. 叙述公有、私有、保护成员在‎类中、类外和对象‎中的访问权‎限。

类中的关键‎字publi‎c, priva‎t e, prote‎c ted 声明了类中‎的成员与类‎外之间的关‎系,称为访问权‎限。

对于publi‎c成员来说,他们是公有‎的,可以在类外‎和对象中访‎问。

对于priva‎t e 成员来说,他们是私有‎的,不能在类外‎和对象中访‎问,数据成员只‎能由类中的‎函数使用,成员函数只‎允许在类中‎调用。

对于prote‎c ted 成员来说,他们是受保‎护的,具有半公开‎性质,可以在类中‎与子类中访问。

6. 构造函数和‎析构函数的‎作用是什么‎?构造函数的‎功能是在创‎建对象时,给数据成员‎赋初值,即给对象初‎始化。

析构函数的‎功能是释放‎一个对象,在对象删除‎前,用来做一些‎内存释放等‎清理工作。

7. 什么是类的‎继承和派生‎?继承是指一‎个事物可以‎继承其父辈‎全部或部分‎的特性,同时本身还‎有自己的特‎性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计复习题一、单项选择题1.下面关于对象概念的描述中,_______是错误的。

(BA.对象代表着正在创建的系统中的一个实体B.对象就是C语言中的结构体变量C.对象是一个状态和操作(或方法的封装体D.对象之间的信息传递是通过消息进行的2. 继承机制的作用是:(CA.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是_________(DA.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是__________(AA.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是__________。

(CA.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是________。

(CA.virtual show(=0;B.virtual void show(;C.virtual void show(=0;D.void show=0 virtual;7.下面关于友元的描述中,错误的是_________。

(DA.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,_________运算符不能重载。

(BA. +B.?:C.-D.<=9.下列关于运算符重载的描述中,________是正确的。

(DA.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10. 在下列函数原型中,可以作为类AA构造函数的是_________(DA.void AA(int ;B.int AA( ;C.AA(intconst;D.AA(int;11.在声明类时,下面的说法正确的是_________。

(CA.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是registerC.private,public,protected可以按任意顺序出现D.没有用private,public,protected定义的数据成员是公有成员12.继承具有________,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

(BA.规律性B.传递性C.重复性D.多样性13.在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则___________。

(AA.完全相同B.完全不同C.部分相同,部分不同D.以上都不对14.对虚函数的调用__________。

(DA.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编15.关于成员函数特征的下述描述中,_______是错误的。

(AA.成员函数一定是内置函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的16. 下面关于c++语言变量的叙述错误的是_______(BA.在c++语言中变量分为auto,static,extern和register四种存储类型B.自动变量和外部变量的作用域为整个程序C.内部变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件17.下列的各类函数中,_______不是类的成员函数。

(CA.构造函数B.析构函数C.友元函数D.拷贝构造函数18. 有如下类声明:class Foo {ing bar ;};则Foo类的成员bar是_________(CA.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数19.下列表示引用的方法中,__________是正确的。

已知:int m=10; (DA. float &t=&m;B.int &y=10;C.int &z;D. int &x=m;20.设置虚基类的目的是________。

(BA.简化程序B.消除二义性C.提高运行效率D.减少目标代码21.对于类中定义的成员,其隐含访问权限为________(BA.publicB.privateC.staticD.protected22.关于类和对象不正确的说法是________ (BA.类是一种类型,它封装了数据和操作B.一个类的对象只有一个C.对象是类的实例D.一个对象必属于某个类23.声明一个类的对象时,系统自动调用一个函数___c___;撤消对象时,系统自动调用一个函数;该函数为___c___A.成员函数;构造函数B.复制构造函数;析构函数C.构造函数;析构函数D.析构函数;复制构造函数24.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的__A______A.private成员B.protected成员C.public成员D.友元25.在C++中,要实现动态联编,必须使用_____D___调用虚函数A.类名B.派生类指针C.对象名D.基类指针26.若一个类中含有纯虚函数,则该类称为____A____A. 抽象类B. 纯基类C.派生类D. 基类27.下列关于this指针的叙述中,正确的是___D_____A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数才有this指针28.有如下类声明:class Book {int num( ;};则Book类的成员num是___D_____A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数29.下面有关重载函数的说法中正确的是___C_____A.重载函数必须具有不同的返回值类型;B.重载函数形参个数必须不同;C重载函数必须有不同的形参列表; D.重载函数名可以不同;30.设置虚基类的目的是___A_____A.消除二义性B.简化代码C.提高运行效率D.减少目标代码31.在C++语言程序中,对象之间的相互通信通过___B_____A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现32.下列运算符中,在C++语言中不能重载的是__C______A.*B.>=C.::D./33.下面对友元函数描述正确的是___C_____A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员34.下面叙述不正确的是___A_____A.基类的保护成员在派生类中仍然是保护成员B.基类的保护成员在公有派生类中仍然是保护成员C.基类的保护成员在私有派生类中是私有成员D.对基类成员的访问必须是无二义性35.下面对静态数据成员的描述中,正确的是___D_____A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用36.在C++类语言体系中,不能被派生类继承的有_______BA.转换函数B.构造函数C.虚函数D.静态成员函数37.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是____C____A.友元函数B.虚函数C.构造函数D.析构函数38.下列关于虚基类的描述中,错误的是_B_______A.设置虚基类的目的是为了消除二义性;B.虚基类的构造函数在非虚基类之后调用;C.若同一层包含多个虚基类,这些基类的构造函数按照它们的次序调用;D.若虚基类由非基类派生而来,则仍然先调用基类构造函数,再用派生类的构造函数;39.考虑函数原型void test(int a,int b=7,char="*",下面的函数调用中,属于不合法调用的是___C_____test(5 B.test(5,8 C.test(6,"#" D.test(0,0."*";40.下列关于构造函数的描述中,错误的是___D_____构造函数可以设置默认参数; B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数;D.构造函数不可以重载41.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( 。

DA.一元成员运算符B.二元成员运算符C.一元友元运算符D.选项B和选项C都可能42.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( 。

CA.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针43.下面关于虚函数的描述,错误的是( 。

BA.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现44.定义派生类时,若不使用关键字显示地规定采用何种继承方式,则默认方式为( 。

AA.私有继承B.非私有继承C.保护继承D.公有继承45.有如下程序:#includeusing namespace std;class ONE{int c;public:ONE(:c(0{cout<<1;}ONE(int n:c(n{cout<<2;} };class TWO{ONE onel;ONE one2;public:TWO(int m:one2(m{cout<<3;} };int main({TWO t (4 ;return 0 ;}运行时的输出结果是( 。

CA.3B.23C.123D.21346.关于静态数据成员的描述中正确的是DA类的静态数据成员不是类的所有对象共享的数据B类的静态数据成员不能被类的成员函数调用C类的静态数据成员不能被类的构造函数调用D类的静态数据成员必须进行初始化47下面正确的是,在父类中的访问属性访问修饰符在子类中的访问属性(CApublic,private不能直接访问 Bprotect,public,publicCprivate,public不能直接访问 Dprotect,private,protect48类A是类B的友元,类B是类C的友元,则下列说法正确的是DA类B是类A的友元B类C是类A的友元C类A是类C的友元D以上都不对49下列关于构造函数说法不正确的是CA构造函数必须与类同名 B构造函数可以省略不写C构造函数必须有返回值 D在构造函数中可以对类中的成员进行初始化50.类的析构函数的作用是DA一般成员函数的初始化 B类的初始化C对象的初始化D删除类创建的对象51.下列说法正确的是BA内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C类的内联函数必须在类体内定义D类的内联函数必须在类体外通过加关键字inline定义52.下面对静态数据成员的描述中,正确的是DA静态数据成员可以在类体内进行初始化B静态数据成员不可以被类的对象调用 C静态数据成员不能受 private 控制符的作用 D静态数据成员可以直接用类名调用二、知识点 1.实现运行时的多态性要使用虚函数。

相关文档
最新文档