纯虚函数与抽象类如何运用详解

定义成抽象类接口后优点:
1.代码具有非常好的扩展性,如果再加个hexagon类也很好处理,实现BaseGraphics定义的各个接口就好了
2.有助于多人协同开发,开发接口的不同关心如何实现接口,实现接口不用想太多,按要求一个个实现就好。
3.好的维护性,比如要修改Circle类里实现,只要改Circle部份,不用动到 其它代码。

基类派生类构造与析构

类构造就是开始使用时定义,类就开始构造;析构就是对象不在使用时调用。对象构造时调用构造函数,对象析构时调用析构函数。那派生类构造时基类构造吗?顺序是怎样?派生类析构时基类析构吗?顺序是怎样?带这这两个问题写段代码来说明下。

C++类的继承深入讲解

面向对象语言都有类,也都有继承,继承可以很大程度上减少代码量,而让代码逻辑更清晰。继承可以使得子类(派生类)具有父类(基类)的属性和方法或者重新定义、追加属性和方法等。比如车是基类,娇车和公交车从车类派生而来,这就是一个继承的例子。
继承后派生类在内存如何存放基类成员:

组合类和嵌套类区别,实例代码详解

组合类简单点讲就是A类中有B类,B类定义在A类外面。比如点类和圆类,圆类就可以设计成组合类。因为外部程序会用到点对象,也会用到圆对象,所以这种将圆类设计成组合类比嵌套类较合适。
嵌套类就是A类中有B类,B类定义在A类里面。这种就有了从属关系,要单独定义B类就必须要写成A::B b(B定义在A类中公有的public部份),这种可以看成多了一层名字空间,但这不是主要目的。一般来说B类如果只属于A类,外部几乎不会用到B类,这种情况下就会设计成设计成嵌套类。对类进行嵌套通常是为了帮助实现另一个类,并避免名称冲突。

类成员函数

类成员函数就是类中定义的函数。这样的函数都是成员函数,用以完成特定操作。类设计时成员函数的访问类型一般设为public公有的,这样就可以将成员变量都封装起来,更加安全。一般设计图:

注意一点定义成inline内联成员函数时,此函数体一定是比较小的,比如SetID(),GetID()两个成员函数,函数体只有一句语句。如果成员函数体比较大时,不要写成inline内联成员函数,这样是滥用影响性能。
成员函数重载方法可以参考函数重载,其实是一样的。只是它是类里面的函数,所以叫成员函数,也是函数所以跟函数重载一样。

类成员访问控制符public/private/protected

访问控制符用于指定类中成员的可访问性。类中有3种访问控制符public/private/protected,3种访问控制符具体意义:

类成员访问控制符public/private/protected,具体如何使用,经验是一般对外的成员函数设计成public公有的,类如果要用于继承就将成员变量设计成protected保护的,类中如果确定不能直接被外部访问的变量就设计成private私有的。以上方法可供参考,具体如何设计访问控制符没有统一的标准,要根据实际情况来考虑。