1 C++面向对象 2 C++命名空间 3 C++类的继承 4 C++构造方法和析构方法 5 C++执行父类的构造方法 6 C++执行父类的方法 People.h/cpp同上 7 C++实函数、虚函数、纯虚函数、函数重写 只要类中有纯虚函数就是一个抽象类,全部都是纯虚函数就是纯虚类。类似Java接口 ...
分类:
编程语言 时间:
2016-12-20 23:58:37
阅读次数:
373
不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例,有未被实现的方法。抽象类不可以new对象。 "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用。 抽象类能够被用于类,方法,属性,索引器和事件,使 ...
接口是把公共实例(非静态)的方法和属性结合起来,以封装特定功能的一个集合,一旦定义了接口,就可以在类中使用实现接口中的所有成员,接口可以看作创建者和使用者之间的契约,一旦实现了接口,就不要轻易变动(如果需要变更接口,一般需要继承旧接口并且添加版本号)。我们知道在C++里面是有纯虚函数,虚继承和多重继 ...
因为看Delphi书的时候,就产生了疑惑。老讲调用父类虚函数,但是万一需要调用祖父虚函数怎么办?后来又经常在C++里看到,就更疑惑了 利用了 Delphi 能够创建纯虚函数实例的特性记录下了TA的函数地址然后替换其Data的值为Self,然后在需要的时候再调用利用了两点:TMethod和Delphi ...
1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合。 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值。 2)实现(实线加小圆):对纯虚函数类(抽象类)的实现。 3)继承 即 泛化(实线加空心三角形,从子类指向父类):表示一个类与另一个类之间的继承关系; 4)关联(实线 ...
分类:
其他好文 时间:
2016-11-20 18:12:49
阅读次数:
617
1. 对齐原则。比如64位总线,每次寻址读取8B。编程时注意变量地址,尽量消耗总线最少的寻址次数。堆内存申请时,系统严格按照对齐原则分配,故而使用时候也尽量不要跨寻址边界。 2. 需要的时候,可为了效率拷贝代码,虽然增加了代码体积,但这是值得的。尤其是for循环,若次数比较少,拆开亦无妨。 3. 位 ...
分类:
编程语言 时间:
2016-11-18 17:55:28
阅读次数:
176
C++基础之纯虚函数与抽象类 引言 纯虚函数在C++编程中的地位很重要,其关联到了设计模式中“接口”的概念。 语法 纯虚函数的语法: 1、 将成员函数声明为virtual 2、 后面加上 = 0 3、 该函数没有函数体 例如: 在许多情况下,在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数 ...
分类:
编程语言 时间:
2016-11-07 12:22:07
阅读次数:
267
利用继承关系,定义抽象类,只有纯虚函数构成的接口,然后具体的模块实现放在子类中。 通过extern "C" 解决C++名字修饰问题。得到子类指针。 然后所有函数的名字就遵循了统一约定。 涉及三个c相关的文件和一个makefile main.cpp 为主程序负责调用so中的类的方法 Module.h ...
分类:
编程语言 时间:
2016-10-21 07:47:39
阅读次数:
233
纯虚函数是在基类声明的虚函数,它在基类中没有定义,但是要求派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后面添加“=0” 比如 virtual void f()=0; 而c++中包含纯虚函数的类称为抽象类,由于抽象类中包含了没有定义的纯虚函数,所以不能定义抽象类的对象。 总结: ...
分类:
其他好文 时间:
2016-10-07 01:11:19
阅读次数:
116
一、C++中纯虚函数与抽象类: 1、含有一个或多个纯虚函数的类成为抽象类,注意此处是纯虚函数,而不是虚函数。 2、如果一个子类继承抽象类,则必须实现父类中的纯虚函数,否则该类也为抽象类。 3、如果一个类中含有虚函数,则必须将该类的析构函数声明为虚函数。 4、虚函数与纯虚函数的声明: virtual ...
分类:
编程语言 时间:
2016-09-28 01:34:40
阅读次数:
232