佛山选择免费网站优化,商务网页设计与制作 百度百科,WordPress经常打不开网页,app开发开发公司#xff08;1#xff09;派生类的访问属性 1#xff09;public继承#xff1a;派生类中#xff1a;可以访问基类的public和protect变量#xff0c;不可以访问基类的private变量 派生类外#xff1a;可以访问基类的public变量#xff0c;不能访问基类的private变量 21派生类的访问属性 1public继承派生类中可以访问基类的public和protect变量不可以访问基类的private变量 派生类外可以访问基类的public变量不能访问基类的private变量 2protect继承派生类中可以访问基类的public和protect变量不可以访问基类的private变量 派生类外都不可以访问 3)private继承派生类中都不可以访问 派生类外都不可以访问 
2派生类的构造函数 派生类中包含所有基类的数据成员和派生类中新增的数据成员包括其他类的对象子对象和普通数据成员。 1对于基类成员和子对象成员的初始化必须在成员初始化列表中进行新增成员的初始化既可以在成员初始化列表中进行也可以在构造函数体中进行。 2派生类构造函数的初始化顺序基类的构造函数子对象的构造函数派生类构造函数体。 3当派生类中出现多个基类时处于同一层次的各个基类的构造函数的调用顺序取决于定义派生类时声明的顺序自左向右而与派生类构造函数的成员初始化列表给出的顺序无关。 4如果派生类的基类也是一个派生类则每个派生类只需复杂其直接基类的构造依次上溯。 5当派生类中有多个子对象时各个子对象的构造函数的调用顺序也取决于派生类宏定义的顺序自前往后而与派生类构造函数的成员初始化列表给出的顺序无关。 6派生类构造函数提供将参数传递给基类构造函数的途径以保证基类进行初始化时能够获得必要的顺序如果基类的构造函数中定义了一个或多个参数派生类必须定义构造函数。 7如果基类定义了默认构造函数或根本没有定义一个构造函数在派生类构造函数的定义中可以省略对基类构造函数的调用。 8子对象的情况同7基类。 9当所有的基类或子对象的构造函数都可以省略时可以省略派生类构造函数的成员初始化列表。 10如果所有基类和子对象都不需要参数派生类也不需要参数时派生类构造函数可以不定义。 
3派生类的析构函数 在派生时派生类不能继承基类的析构函数但是需要通过派生类的析构函数去调用基类的析构函数析构函数的调用顺序与构造函数的调用顺序正好相反首先调用派生类的析构函数然后调用成员类对象的析构函数最后调用基类的析构函数。 析构函数调用场景 1对象生命周期结束被销毁时一般类成员的指针变量与引用都不自动调用析构函数。 2delete指向对象的指针时或delete指向对象的基类类型指针而其基类虚构函数是虚函数时。 3对象i是对象o的成员o的析构函数被调用时对象i的析构函数也被调用。