继承 公有继承,is-a的关系,比如,He is a man; 派生类可访问基类非私有成员,派生类实例也是; 私有继承和保护继承,has-a的关系,Car has a motor; 私有继承,也让派生类可访问基类非私有成员,但派生类实例无法访问基类任何成员,并且派生类的的子类也无法访问基类任何成员; ...
分类:
编程语言 时间:
2017-06-27 20:50:29
阅读次数:
223
数据类型 bool 布尔型 char 字符型 8位 wchar_t 宽字符型 16位 short 短整型 16位 int 整形 16位 long 长整形 32位 float 单精度浮点型 6为有效数字 double 双精度浮点型 10位有效数字 long double 扩展精度浮点型 10位有效数字 ...
分类:
编程语言 时间:
2017-06-09 19:11:48
阅读次数:
212
C++多态方式: (1)静态多态(重载,模板) 是在编译的时候,就确定调用函数的类型。 (2)动态多态(覆盖,虚函数实现) 在运行的时候,才确定调用的是哪个函数,动态绑定。运行基类指针指向派生类的对象,并调用派生类的函数。 虚函数实现原理:虚函数表和虚函数指针。 纯虚函数: virtual int ...
分类:
编程语言 时间:
2017-06-01 10:26:20
阅读次数:
318
虚函数的作用就是实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数;实现方法就是在函数返回值之前加上关键字“virtual”;如下: 输出结果为: 基类A有两个成员函数fn和v_fn,派生类B继承自基类A,同样实现了两个函数,然后在main函数中用A的指针指向B的实例(向上转型 ...
分类:
其他好文 时间:
2017-05-28 12:30:10
阅读次数:
246
1、相关问题 视图窗口-提供了一个用于显示数据的窗口可以和用户进行交互操作 相关类 CView及其子类-父类CWnd 2、视图窗口的使用 2.1从CView类派生了一个自己的视图类CMyView,并在CMyView类重写父类(CView)的一个纯虚函数OnDraw 2.2在框架窗口的WM_CREAT ...
分类:
编程语言 时间:
2017-05-27 20:00:05
阅读次数:
179
抽象类的意义:为一个类群提供共同的接口(操作),是实现多态的方式,使程序结构清晰,便于理解和维护。 抽象类中应只含有成员函数,不应包含数据成员。 抽象类的基本组成形式: 纯虚函数:virtual 函数原型 =0; 通过纯虚函数,使得基类指针能够确认类具有该函数,从而实现多态。 具有纯虚函数的类成为抽 ...
分类:
其他好文 时间:
2017-05-22 20:06:26
阅读次数:
159
在设计父类子类继承关系中,经常会出现此类问题。 报错原因:父类中的虚函数只有声明,没有定义。 解决方案 : 1. 定义相关的虚函数的实现。 2. 不实现了,直接搞成纯虚函数留给后代实现。 virtual int getlength()const = 0; ...
分类:
其他好文 时间:
2017-05-13 23:23:07
阅读次数:
223
先附上部分代码: 解释一下,不用按照我这种声明抽象类的方法,我只是单纯的为了使用纯虚函数(因为之前的文章说了纯虚函数,采纳SoftwareTeacher给我提的建议,这次用一下。),顺便补充一下纯虚函数的一些注意事项: 纯虚函数声明时的返回值和参数 在子类实现的时候是不能改变的,否则认为没有实现这个 ...
分类:
Web程序 时间:
2017-05-05 21:45:21
阅读次数:
277
-------------------siwuxie095 纯虚函数 在 C++ 中,用 纯 字来修饰虚函数,即 纯虚函数 纯虚函数没有函数体,同时在定义时,函数名的后边要加 =0 看如下实例: 纯虚函数在虚函数表中的实现: 如果定义了一个 Shape 类... ...
分类:
其他好文 时间:
2017-05-04 21:55:17
阅读次数:
215
第六章 继承和面向对象设计 条款35: 使公有继承体现 "是一个" 的含义 1.子类对象一定“是一个”基类对象,基类对象不一定是子类对象 条款36: 区分接口继承和实现继承 1.希望派生类只继承成员函数的接口——将函数声明为纯虚函数 2.希望派生类同时继承函数的接口和实现,但允许派生类改写实现——将 ...
分类:
编程语言 时间:
2017-04-27 00:35:58
阅读次数:
203