请问把基类构造函数声明为protected有啥好处呢(抽象基类)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问把基类构造函数声明为protected有啥好处呢(抽象基类)相关的知识,希望对你有一定的参考价值。
class A()
protected:
A()
public:
virtual ~A()=0;
可以用来实现Singleton模式 参考技术A protected专门就是为继承(子类)设计的
用public继承 那么基类所有的访问标识在子类不变
protected只有类本身 和类的子类可以访问,对象是无法访问的!
除了在继承上 他跟private没有任何区别!
private 子类也将不能访问!
跟你说了啊~~~ 只是在继承上不同 其他都一样的
private无法继承 也就是说子类也不能用基类的 private...
但是protected就是可以的~
明白吗? pravite 只对本类可见
protected 对本类和继承类可见
c++中的虚函数有啥作用?
其作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。实现动态多态性,使同一类族中不同类的对象对同一函数调用作出不同响应。说白了,就像一个多频段收音机,一台机子响应不同事件。 参考技术A 类的三个重要特征:封装、继承、多态性。其中多态性就是通过函数重载(运算符重载实质上也是函数重载)和虚函数来实现的。
虚函数的作用:在基类用virtual声明成员函数为虚函数,在派生类中重新定义该函数,就可以通过基类指针或引用来访问基类和派生类中的同名函数。
虚函数实现多态性:同一类族中不同类的对象,对同一函数调用做出不同的响应。
多态性其实就是一个接口,多种方法,分为静态多态性和动态多态性,函数重载属于静态多态性,在程序编译时就可确定调用哪个函数,其过程称为静态关联或早期关联,静态多态性又称编译时多态性;虚函数属于动态多态性,在程序运行过程中才动态地确定所调用的是那个对象的函数,其过程称为动态关联或滞后关联,动态多态性又称运行时多态性。
以上是关于请问把基类构造函数声明为protected有啥好处呢(抽象基类)的主要内容,如果未能解决你的问题,请参考以下文章