




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序填空:后面的拷贝构造函数一、常量的定义:定义常量要初始化constfloatM=10;常变量在声明时必须进行初始化;常变量初始化之后,不允许再被赋值;常变量存储在数据区,可以对其取地址。A对B错二、声明一个引用时,必须同时初始化。引用名不能再作为其他变量的别名,要区分引用与指针的区别。答案D三、函数重载不能仅靠函数的返回值类型的不同进行函数重载,用户不定义,系统为其生成默认的构造函数成员函数允许重载一个类中的成员函数可以重名。成员函数重载的条件是重载成员函数的形参列表不同。不能仅依赖成员函数的返回值不同来重载函数。成员函数的重载和普通函数的重载完全一样。如果函数调用时的实参类型与一个重载函数的形参类型完全匹配,则调用该重载函数;如果找不到与实际参数类型完全匹配的函数,但如果通过类型转换后能找到完全匹配的函数,编译程序调用该重载函数。如果函数调用时为相应参数指定了参数值,则参数将使用该值;否则参数使用其默认值。默认参数的设置应从参数表的最右边开始设置,从右到左依次设置。四、类是对象的抽象,而对象是类的实例。类的实例化:通过类创建对象类是一组具有相同特征和行为的对象的集合。类是用来描述其所属集合中所有对象的属性和方法,即对象的内部结构。封装:把属性和行为(方法)通过class封藏起来。对象将其大部分实现细节隐藏起来封装考虑的主要问题是类的哪些属性和行为对外是公开的,哪些属性和行为对外是不公开的。把对外不公开的属性和行为定义为私有成员。把对外公开的属性和行为定义为公有成员。公有成员就成为外界和属于该类的对象进行交流的接口。封装体现了信息隐藏。C++中,多态性有两种:编译时多态(静态联编)运行时多态(动态联编)类的实例化:通过类创建对象五、构造函数构造函数与类同名没有返回值,原型中也没有void。构造函数可以重载。构造函数可以带有默认参数。如果一个类你没有定义构造函数,那么系统会为你定义一个构造函数,该构造函数的参数表和函数体为空;六、析构函数析构函数与类同名,只是在前面添加了符号~。析构函数没有返回值,原型中也没有void。析构函数没有参数,一个类只能有一个析构函数,析构函数不能被重载析构函数的函数体可写在类体内,也可写在类体外。将要释放某个对象所占据的存储空间之前,系统自动调用析构函数。析构函数也可以被程序显示调用。对于一个类,如果没有显示定义构造函数,编译器自动为该类产生一个构造函数。对于一个类,如果没有显示定义析构函数,编译器自动产生为该类一个析构函数。七、静态成员与非静态成员。静态成员函数没有this指针。静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,而静态成员函数没有this指针,因而决定了静态成员函数不能默认访问本类中的非静态成员。八、拷贝构造函数每个类都必须有一个拷贝构造函数,如果没有显式定义拷贝构造函数,则编译系统自动生成一个拷贝构造函数,作为公有成员。通常的拷贝构造函数的参数:参数是本类对象的常引用系统自动生成的拷贝构造函数的函数体不为空,拷贝的策略是逐个成员依次拷贝。15分的程序填空:上面图片的拷贝构造函数九、友员函数友元函数不是类的成员函数,但是它可以访问类中的私有成员。友元函数需要在类体内进行声明,声明时前面加上关键字friend。友元函数的作用在于提高程序的运行效率,但是,它破坏了类的封装性,使得非成员函数可以访问类的私有成员。答案C带有默认参数的构造函数函数模板与模板函数的区别:函数模板不是一个具体类型函数,而是一组函数的样板,在定义中使用了数据类型参数。模板函数是一种实实在在的函数定义,前面所说的调用函数模板实际上是调用由函数模板生成的模板函数。模板函数是在编译期间由编译系统根据需要生成。函数模板使用数据类型参数来定义函数,使用模板的时候,数据类型参数要用具体数据类型替换。数据类型参数可以用任意一个合法的实际数据类型替换函数模板返回值的类型也可以是数据类型参数函数模板中可以带有多个数据类型参数。函数模板可以带有已存在的数据类型。在调用函数模板时,编译系统会自动生成所需的函数定义,这一过程称为函数模板的实例化普通函数可以与函数模板重载答案C通常的拷贝构造函数的参数:参数是本类对象的常引用继承性派生类可以改造基类的成员派生类不能继承基类的构造函数与析构函数。派生类的数据成员有两部分(1)从基类继承下来的。(2)派生类中新增的。如果在派生类构造函数的初始化列表中没有明确指定基类数据成员的初始化方式,则调用基类中的默认构造函数来初始化基类成员。这时如果基类中没有这样的构造函数,会编译出错。派生类相对于基类的变化,主要体现在:(1)派生类对基类的扩充(2)派生类中的成员对基类成员的隐藏析构函数执行顺序与构造函数完全相反创建派生类对象时构造函数的执行顺序:按照基类被继承时声明的顺序,调用基类构造函数。按照内嵌对象在派生类中声明的顺序,调用内嵌对象的构造函数。最后输出:ConA1,ConB1,ConA2,ConB2,C++中,多态性有两种:编译时多态(静态联编)运行时多态(动态联编)编译时多态性通过函数重载来实现。运行时多态是通过虚函数实现的,同时还要借助赋值兼容原则。当基类指针指向派生类对象,通过基类指针只能访问对象中从基类继承下来的成员(不管该成员是否被派生类的成员隐藏)。当基类引用来引用派生类对象时,通过基类引用只能访问对象中从基类继承下来的成员(不管该成员是否被派生类的成员隐藏)十三、虚函数可以将一个派生类的对象的地址赋给其基类的指针变量。通过这个指针访问派生类中由基类继承来的成员,不能访问派生类中的新增成员。派生类的对象可以初始化基类的引用通过这种引用只能访问派生类对象中的由基类继承来的成员,不能访问派生类中的新增成员。在派生类中必须定义和基类中虚函数原形相同的成员函数:函数名、返回类型、参数类型、参数个数、参数顺序必须基类中虚函数一致。否则达不到动态联编的效果。在派生类中和基类虚函数原形相同的成员函数,即使在前面没有加上virtual关键字,也自动成为虚函数。纯虚函数声明语法:virtual返回类型函数名(参数表)=0;抽象类:至少包括一个纯虚函数的类称为抽象类。抽象类使用的要求:抽象类不能实例化,不能通过抽象类定义对象。抽象类只作为基类被继承,无派生类的抽象类毫无意义。在派生类中我们要实现基类中的纯虚函数,或者把基类中的纯虚函数继续声明为纯虚函数。可以定义抽象类的指针或引用,这个指针或引用必然指向其派生类对象不能定义虚构造函数。答案:basefun10Derivedfun15basefunabcnew运算符:动态创建对象和数组,用delete删除答案D静态成员函数没有this指针。答案D#include<iostream>usingnamespacestd;classShape{public:virtualdoubleGetArea()const=0;virtualdoubleGetcir()const=0;};classCircle:publicShape{doublem_dr;public:Circle(doubler=0):m_dr(r){}virtualdoubleGetArea()const{return3.14*m_dr*m_dr;}virtualdoubleGetcir()const{return2*3.14*m_dr;}};classRetangle:publicShape{doublem_da;doublem_db;public:Retangle(doublea=0,doubleb=0):m_da(a),m_db(b){}virtualdoubleGetArea()const{returnm_da*m_db;}virtualdoubl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电商创业者的融资与资本运作
- 读者需求驱动下的出版业变革路径
- 软组织修复材料力学性能评价基础知识点归纳
- 牦牛饲养的生物安全管理体系
- 哲学研究之我见
- 大学人生轨迹
- 音乐的力量与影响
- 多元融合盘活农村闲置资源的背景意义及必要性
- 部门砥砺前行
- 推动教育创新之路
- 2024年中级注册安全工程师《金属非金属矿山安全》真题及答案
- 炊事员安全试题及答案
- 计算机基础考试知识试题及答案集
- 2025年下半年北京市昌平区东小口镇招聘拟聘用易考易错模拟试题(共500题)试卷后附参考答案
- 马帮运输协议书
- 山东省枣庄市市中学区五校联考2025届七年级数学第二学期期末考试模拟试题含解析
- 2025年中考道德与法治三轮冲刺:人工智能+文化建设 考题含答案
- 数字智慧方案未来医院智慧孪生和空间创新
- 福建厦门双十中学2025届物理八下期末质量跟踪监视试题含解析
- 2025年消防执业资格考试题库(消防应急救援装备)消防设备操作规程试题
- 制药生产管理培训
评论
0/150
提交评论