继承是类与类之间的关系
#include<iostream>
using namespace std;
class Base //建立一个基类,其私有成员为i,保护成员为j,公有成员为k,且有一个公有函数是得到i
{
private:
int i;
protected:
int j;
public: int k;
void setI(int x) //公有函数得到其私有成员
{i=x;}
};
class Drived:public Base //用公有继承来建立一个子类继承基类
{
int m,n; //private可不写,直接表示其为私有成员
public:
void set() //子类中的公有函数
{
// i=3;这是错误的,子类继承基类,子类不能直接访问其私有成员
j=4; //但是继承的情况下,子类可以直接访问基类的公有以及保护成员
k=5;
}
};
int main()
{
Derive d;
//d.i=4;这是错误的,子类继承基类,子类不能直接访问其私有成员,可通过基类中的公有函数获取
//d.j=5;这是错误的,首先这是在类外,子类只能在本类中访问基类的保护成员,在类外就不能被直接访问
d.k=6;
d.set();
}
i j k 首先继承基类对象 |
m n 而后是子类对象继承 |