c++类后面带一个:啥意思 class CAboutDlg : public CDialog//啥意思? { public: CAboutDlg(); } 求解释
这说明这是一个继承关系。
继承机制是面向对象程序设计是代码复用的重要手段,它允许程序员在保持类原有特性基础下,进行扩展增加功能。这样产生新的类,称为派生类,继承体现了面向对象设计的层次结构,体现了由简单到复杂的认知过程。
承的三种形式:
1)公有继承——public:基类的公有变为派生类的公有,基类的保护变为派生类的保护,私有派生类不可访问。
2)私有继承——private:基类的公有变为派生类的私有,基类的保护变为派生类的私有,基类的私有不可访问。纯空
3)保护继承——protect:基类的公有变为派生类的保护,基类的保护变为派生类的保护,基类的私有不可访问。
扩展资料
总结:
1、基类的私有成冲裤运员在派生类中无法访问,如果类内成员不想在类外访问但是想在派生类中访问,可以把类内成员定义为保护,可以看出保护成员限定符是因为继承才产生的。
2、public继承是一个接口继承,他遵从is-a的原则,每个父类的可用成员对子类也可用,因为每个子类对象也都是一个父类对象。
3、protect/private继承是一个现实继承,基类的部分成员并非完全成为子类接口的一部分,是has-a原则所以大多数情况下不会使用这两种继承关系,在绝大多数情况下使用public继承。
4、不管是哪种继承方式,基类的公有和保护成员派生类都可以访问,基类的私有成员散梁存在,但是在派生类中不能访问。
5、当不写继承的关键字时,使用关键字classs时默认为私有继承,struct默认为公有继承。
如果只是class CAboutDlg { public: CAboutDlg(); } 说饥唤迟明CAboutDlg 没有基类
class CAboutDlg : public CDialog该语句表示CAboutDlg这个类继承自CDialog,public表示继承方式是公有继承
public: CAboutDlg();这个茄升是CAboutDlg类的构造函数,前面的public表示该函数所处的数据域是公有数据域,表示该函数是该类的公有成颤竖老员,一个类的公有成员函数就是该类的对外接口,谁都可以访问,所以构造函数必须是公有的,要是放在私有数据域,那这个类就基本没什么用了,因为纤孙无法实例化该类对象,也就无法在类外使用该类特性(当然,里面的静态成员和静态数据还是可以使用的)!