


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简答题 1、简述构造函数、析构函数和拷贝构造函数的特点和用途。A、构造函数特点:函数名和类名相同;公有访问属性;无函数返回类型;对象被创建之 后自动调用;可以重载;可在类内或类外定义构造函数作用:初始化对象B、析构函数特点:名字特别加;没有参数;不能重载;对象生存期时,系统自动调用; 析构函数作用:在对象生存期结束之后自动执行清理工作C、拷贝构造函数特点:与类同名;没有返回类型;只有一个为该类对象的引用作为参数; 作用:实现对象之间的初始化2、const有什么作用? 可以实现同一个数据对象的不同场合不同途径的共享,同时防止错误操作对数据的更改。3、简述this指针的特点 指向本类对象,其值时当
2、前被调用的成员函数所在的对象的起始地址,编译系统自动实现。4、简述静态成员和静态成员函数的特点用途(static) 静态数据成员特点:每个类中只有一个拷贝,可以实现同一类不同对象之间实现数据共享(stati c in tn umber); 生存期同程序周期一样长;初始化不加访问限定符且前面不加(static),例如int CStudent: TotleNumber=120; 静态成员函数:(例如:static int set_totle_len();) 属于类的静态成员,但都不是对象成员;公有静态成员函数可以通过类名或者对象名来调用, 一半的非静态成员函数只能通过对象名来调用;静态成员函数可以
3、直接访问该类的静态成员, 不能直接访问非静态数据成员和非静态成员函数;若要,可通过对象来引用。5、友元函数、友元类的特点和用途是什么?友元(成员)函数特点:定义在类外部,但是需要在类体内进行说明;说明时在前面加上关键 字 friendclass Apublic: .friend (B:)double GetDistance(A start,A stop); ;友元(成员)函数作用:提高程序的运行效率,可以访问类中的保护和私有成员; 友元类特点:class A friend class B; ;友元类作用:能够允许一个类中的所有成员函数都能够访问另一个类中的私有成员。6、单一继承和多重继承的定义
4、? 单一继承:一个类只从一个基类派生;多重继承:一个雷从多个基类派生。简述经过公有继承和私有继承之后派生类中访问权限的变化。公有继承之后public protected权限保持不变,private变为不可访问,私有继承之后public protected均变为private,private变为不可访问。 用派生类定义对象时构造函数的执行过程。 调用基类的构造函数,调用顺序按照他们被继承时声明的顺序(从左到右); 调用内嵌成员的构造函数,调用顺序按照他们在类中声明的顺序; 派生类的构造函数中的内容运算符重载需要遵循哪些原则? 不改变运算符原有的含义 不改变运算符原有的优先级别,也不能改变运算符需
5、要的操作数的数目 不能创建新的运算符,只能重载C+已有的有些运算符不能重载 多态性的含义以及内容。 多态性是指当不同的对象收到相同的消息时产生不同的动作。包括静态联编和动态联编。静 态联编是编译时的多态性,通过重载机制实现。动态联编时运行时的多态性通过继承以及虚 函数来实现。虚函数、纯虚函数、抽象类虚函数:围了实现某种功能而假设的函数称为虚函数,使用virtual声明。作用是实现运行 时的多态性。!欲达到动态联编的效果,派生类和基类中的对应成员函数不仅应该名字相同,而且返回类型, 参数个数以及类型都应该相同;基类中虚函数前面的virtual不能省略,派生类中的可以; 运行时的多态性必须通过基类
6、对象的引用或者基类对象的指针调用虚函数才能够实现; 虚函数必须是类的成员函数,不能是友元函数以及静态成员函数; 不能将构造函数定义为虚函数,但是可以将析构函数定义成为虚函数。纯虚函数:在声明时被初始化为0的虚函数。作用是:在基类中为其派生类保留一个函数的 名字,以便在派生类根据需要对他进行定义,可以实现运行时的多态性。例如:virtual void display()=0;其特点为:没有函数体。如果在派生类中依然没有定义则依然保持为纯虚函数。 抽象类:如果在一个类中至少有一个纯虚函数则这个类被称为抽象类。抽象类必须用作派生 其他类的基类,不能直接创建对象实例,也不能用作函数参数类型。这是因为其
7、中的一个多 个函数并未被定义。何谓异常?简述C+中异常处理机制。异常是指在程序运行过程中因为各种原因而产生的运行不正常的情况,他要求程序立即 处理否则会引起程序错误乃至崩溃的现象。常见的异常有空闲内存耗尽,请求打开不存在的C+中异常处理机制就是将抛出异常和捕捉异常、处理异常分离。异常处理的三个关键字 为 try,throw,catch 如果出现未被捕捉的异常该怎么办? 调用terminate()终止本程序的运行。使用对象传递异常的时候传递方式有哪些? 传值方式、引用方式、指针方式三种。异常规范函数返回类型函数名(参数列表)throw(类型列表)1到多种类型类型的异常 函数返回类型函数名(参数列
8、表) throw()不抛出任何类型的异常函数返回类型函数名(参数列表)有可能抛出任何类型的异常使用函数模板时需要注意的问题 函数模板中的每一个类型参数载函数参数表中必须至少使用一次。 在全局域中生命的与模板参数同名的对象、函数或者类型载函数模板中将被隐藏。 函数模板中声明的对象或者类型不能与模板参数同名。 模板类型参数名可以用来指定函数模板的返回类型。模板参数明在统一模板参数表中只能使用一次,但可以在多个函数模板声明或定义之间重复 使用。11、函数模板和模板函数的关系(1)函数模板是个模板用来生成函数。模板函数是一个函数,由函数模板生成。(2)函数模板是由程序员用代码写出来的,模板函数时编译系
9、统在编译时根据函数模板 自动生成的。函数模板是模板的定义,是一类函数的抽象,代表了一类具有相同功能的函数,不 能够实际执行。模板函数是函数模板的实例,代表具体函数,具有程序代码,占用内存空间, 并可以实际执行。12、类模板实例化特点只有在类模板实例真正使用时才进行实例化;实例化类模板时编译器需要知道类模板的定义;实例化类模板时,除了构造函数和析构之外不会自动实例化类模板的其他成员函数。13、析构函数的调用顺序先构造的对象后析构,后构造的对象先析构。14、派生类生成步骤:继承基类成员 重写基类成员 定义新成员 重写构造函数和析构函 数Class CtimeWorker: public Cemployee public: CtimeWorker(); CtimeWorker(); void daypay(); void pay(); ;15、派生类不能直接访问基类的私有数据成员,需要通过调用基类的保护或者公有函数间接 引用。16、虚基类机器派生类构造函数的执行顺序:虚基类构造函数非虚基类构造函数对象成员的 构造函数派生类自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (一模)2025届安徽省“江南十校”高三联考数学试卷(含官方答案)
- 公司劳务协议年
- 灯具代理销售合同协议
- 九年级英语介词常见用法和实例分析课堂讲解计划
- 会展策划公司项目管理与实施流程预案
- 工作任务分配表格-工作任务安排表
- 《原子的结构与核反应:高中化学核化学教案》
- 传媒广告发布协议
- 精细化办公制度与流程指南
- 格林童话作文赏析童话中的真善美
- 烹饪营养与卫生知识考核试题题库与答案
- 走近人工智能
- 制造业信息化管理系统架构规划
- 蓝色卡通风好书推荐教育PPT模板
- 《纳米复合材料》第2章 纳米复合材料概论
- 宫颈癌HPV疫苗知识培训(课堂PPT)
- 2019版外研社高中英语必选择性必修一单词表
- 常用电工仪器仪表使用方法
- 建设工程绿色施工围蔽指导图集
- 2022新教科版六年级科学下册全一册全部教案(共28节)
- 中级Java软件开发工程师笔试题(附答案)
评论
0/150
提交评论