- 博客(5)
- 收藏
- 关注
原创 区分接口继承和实现继承
公有继承public的概念,可以分为两部分:函数接口继承和函数实现继承。在public继承下,派生类总会继承基类的接口。也就是成员函数的接口总是会被继承。pure virtual纯虚函数只具体指定接口继承。impure virtual(非纯)函数具体指定接口继承及缺省实现继承。non-virtual(普通)函数具体指定接口继承及强制性实现继承。例子1:一考虑一个展现绘图程序中各种几何形状的clas...
2018-04-27 12:19:07 2333
原创 c++中虚函数、纯虚函数和抽象类、多态性的概念
1、纯虚函数(pure virtual)纯虚函数的定义形式:virtual { } = 0;纯虚函数就是基类只声明函数体,没有实现过程。时对子类的约束,是接口继承。2、虚函数(Impure virtual)虚函数的定义形式:virtual {method body};c++的虚函数是基类提供虚函数的实现,为子类提供默认的函数实现。子类可以重写基类的虚函数实现子类的特殊化。虚函数具体指定接口继承和缺...
2018-04-27 12:08:44 813
原创 const用法讲解
const 修饰符与类型指针的用法合集:以char*为例。1、char* const ptr ----const修饰符在*右边,修饰的是ptr,表明指针是个常量,这就是常指针,不能修改。 但是可以修改ptr指向的字符串。2、const char* ptr----此时const修饰词在*左边,表明ptr所指向的字符串是常量...
2018-04-26 21:01:44 304
原创 不在构造和析构过程中调用虚函数
1.不能在构造过程中调用虚函数。比如:在基类中有一个虚函数。class Transaction{public: Transaction(); virtual void logTransaction() const = 0; //虚的成员函数。};Transaction::Transaction() //基类构造函数实现{ logTransaction();}下面有两个派生类继承...
2018-04-26 20:21:39 399
原创 如何设计类,可以使得文件间的编译依存关系降至最低
方法一:使用pimpl idiom(pointer to implementation)的类,常被称为 Handle classes.将类分割为两个类,一个只提供接口,另一个负责实现该接口。分离的关键在于以“声明的依存性”替换“定义的依存性”。以Person类为例,假设负责实现的那个所谓implementation class取名为PersonImpl, Person将定义如下:#include&...
2018-04-26 20:17:22 454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人