访问权限:
public(公有) -内部、 子类、 外部 (客厅- 大家都能参观) 最高级
protected(保护)- 内部 、子类 (卧室-只有你和你媳妇还有儿子能进去) 中级
private(私有) - 内部 (加密加密加密保险箱-只有你自己能打开)最低级
继承
class B: public A B类继承了A类的成员变量以及方法 (public), A为基类 (父类)B为派生类(子类)。
public继承: (父类)public ——(子类)public
(父类)protected ——(子类)protected
(父类)private —— 子类无权限访问
protected继承: (父类)public ——(子类)protected
(父类)protected ——(子类)protected
(父类)private —— 子类无权限访问
private继承: (父类)public ——(子类)private
(父类)protected ——(子类)private
(父类)private —— 子类无权限访问
(!!!子类的所有访问特性级别不能高于继承模式。)
父类先构造,子类再构造。
子类先析构,父类再析构。
构造函数调用先后 示例程序:
#include<iostream>
using namespace std;
class A //先定义A类
{
public:
A() //A类的构造函数
{
cout<<"A"<<endl;
}
};
class B: public A //B类继承A类
{
public:
B() //B类的构造函数
{
cout<<"B"<<endl;
}
};
void main()
{
B b; // 结果显示先输出A再输出B
}
析构函数调用先后 示例程序:
#include<iostream>
using namespace std;
class A //先定义A类
{
public:
A() //A类的构造函数
{
cout<<"A"<<endl;
}
~A() //A类的析构函数
{
cout<<"AA"<<endl;
}
};
class B: public A //B类继承A类
{
public:
B() //B类的构造函数
{
cout<<"B"<<endl;
}
~B() //B类的析构函数
{
cout<<"BB"<<endl;
}
};
void main()
{
B b; // 结果显示
}