1、在一个类当中,公有成员(public)是可以在类外进行访问的,私有成员(private)只能在类的内部访问
2、没有构造函数的时候编译器会提前构造函数的,出现以下三种情况(默认构造函数的几种现象)
①如果就是类有虚拟成员函数或者是虚拟继承父类(虚拟基类 )
②类的基类里面有构造函数(用户定义的构造函数或者是编译器提供的默认构造函数)
③类内所有非静态的对象数据成员,他们所属类中有构造函数
3、函数的重载、重写、覆盖定义
1)overload,将语义相近的几个函数用同一个名字表示,但是参数和返回值不同,这就是函数重载
特征:相同范围(同一个类中)、函数名字相同、参数不同、virtual关键字可有可无
2)override,派生类覆盖基类的虚函数,实现接口的重用
特征:不同范围(基类和派生类)、函数名字相同、参数相同、基类中必须有virtual关键字(必须是虚函数)
3)overwrite,派生类屏蔽了其同名的基类函数
特征:不同范围(基类和派生类)、函数名字相同、参数不同或者参数相同且无virtual关键字
重载和重写的区别:
(1)范围区别:重写和被重写的函数在不同的类中,重载和被重载的函数在同一类中。
(2)参数区别:重写与被重写的函数参数列表一定相同,重载和被重载的函数参数列表一定不同。
(3)virtual的区别:重写的基类必须要有virtual修饰,重载函数和被重载函数可以被virtual修饰