- 94
- 0
- 约2.34万字
- 约 26页
- 2017-02-28 发布于重庆
- 举报
武汉理工大学c期末复习资料
C++期末
基本概念
面向对象编程的三大特征
1) 封装 2) 继承 3) 多态
虚函数、重载函数特点,有哪些约束
虚函数是动态多态,重载函数是静态多态。 重载函数之间要求函数返回值、函数名一致,但是参数不一致。虚函数要求函数返回值、函数名、参数都一致。
纯虚函数作用?派生关系?如何实现?
?一、定义? 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”?? virtual void funtion()=0?二、引入原因?? 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。??? 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。?? 为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Function()= 0;),则编译器要求在派生类中必须予以重写以实现多态性。同时含有纯虚拟函数的类称为抽象类,它不能生成对象。这样就很好地解决了上述两个问题。三、相似概念?? 1、多态性?? 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。?? a、编译时多态性:通过重载函数实现?? b、运行时多态性:通过虚函数实现。?? 2、虚函数?? 虚函数是在基类中被声明为virtual,并在派生类中重新定义的成员函数,可实现成员函数的动态覆盖(Override)? 3、抽象类?? 包含纯虚函数的类称为抽象类。由于抽象类包含了没有定义的纯虚函数,所以不能定义抽象类的对象。
派生类访问基类成员有哪些访问控制?对象呢?
区分“派生类对象”和“派生类”对基类成员的访问权限。?
??“派生类对象”对基类成员的访问权限:?
???(1)对于公有继承,只有基类的公有成员可以被“派生类对象”访问,其他(保护和私有)成员不能被访问。?
???(2)对于私有继承和保护继承,基类中所有成员都不能被“派生类对象”访问。?
??“派生类”对基类中成员的访问权限:?
??(1)对于公有继承,基类中的公有成员和保护成员可以被“派生类”访问,而基类中的私有成员不能被访问。?
??(2)对私有继承和保护继承,也是基类中的公有成员和保护成员可以被“派生类”访问,而基类中的私有成员不能被访问。
多态性如何实现?
??、多态性?? 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。?? a、编译时多态性:通过重载函数实现?? b、运行时多态性:通过虚函数实现。?
类和对象关系?
每一个实体都是对象。有一些对象是具有相同的结构和特性的。每个对象都属于一个特定的类型,这个特定的类型称为类(class )。类代表了某一批对象的共性和特征。前面已说明:类是对象的模板,而对象是类的具体实例(instance)。正如同结构体类型和结构体变量的关系一样,需要先声明一个结构体类型,然后用它去定义结构体变量。同一个结构体类型可以定义出多个不同的结构体变量。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。
深拷贝、浅拷贝区别?
1. 深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比较典型的就是Value(值)对象,如预定义类型Int32,Double,以及结构(struct),枚举(Enum)等。?2. 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,一个人一开始叫张三,后来改名叫李四了,可是还是同一个人,不管是张三缺胳膊少腿还是李四缺胳膊少腿,都是这个人倒霉。比较典型的就有Reference(引用)对象,如Class(类)。
深拷贝和浅拷贝的区别是在对象状态中包含其它对象的引用的时候,当拷贝一个对象时,如果需要拷贝这个对象引用的对象,则是深拷贝,否则是浅拷贝。
抽象类作用?
?将不用来定义对象而只作为一种基本类型用作继承的类,称为抽象类(abstract class),由于它常用作基类,通常称为抽象基类。凡是包含纯虚函数的类都是抽象类。??? 如果在派生类中没有对所有的
您可能关注的文档
- 护肤小贴士.doc
- 报检员考试2012年精讲班第7讲.doc
- 护士应掌握与输血有关的知识.doc
- 挤塑板保温屋面施工工艺.doc
- 换热站方案1.doc
- 捷克,奥地利,德国12日参考行程.doc
- 掘进安全质量标准化标准及考核评分办法2.doc
- 排列图在应用中常见的问题.doc
- 控制系统与仿真离线作业.doc
- 推拿师的手感教案范本-.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 宝城期货-原油2026年度报告-油海浮沉浪几重,掣鲸博弈破苍穹.pdf VIP
- 学堂在线 雨课堂 学堂云 临床中成药应用 综合考试答案.docx VIP
- 2018年1月13日山东济南事业单位考试《公共基础知识》(客观题部分).docx
- 食品生物技术-绪论.pptx VIP
- 2025年青岛职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 中外建筑史7-近现代建筑.pptx VIP
- 2025年云南省中考生物真题(原卷).pdf
- 高中奥林匹克物理竞赛解题方法集.pdf VIP
- 梁小民西方经济学基础教程(第三版)第01章.ppt VIP
- 小学英语语法代词省公开课一等奖全国示范课微课金奖课件.pptx VIP
原创力文档

文档评论(0)