C++ 继承与多继承
继承的作用:
用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,被继承的类成为父类或者基类,继承的类成为子类或者派生类.
继承的一般形式
class 子类 : [继承方法] 父类{
};
“:” 表示子类和父类之间的继承关系.
继承方法有3种:
访问 | public | protected | private |
---|---|---|---|
同一个类 | yes | yes | yes |
派生类 | yes | yes | no |
外部的类 | yes | no | no |
继承之后子类可以访问父类的变量,以及调用父类里面的方法
#include <iostream>
#include <string>
using namespace std;
class Fun_a
{
public:
int a = 5;
int b = 6;
void add()
{
cout << a + b << endl;
}
};
class Fun_b : public Fun_a
{
public:
void getContent()
{
// 子类使用父类里面的变量
cout << a + b << endl;
}
};
int main()
{
Fun_a fun_a;
fun_a.add();
Fun_b fun_b;
fun_b.getContent();
// 子类调用父类的方法
fun_b.add();
return 0;
}
多继承的一般形式
class 子类 : [继承方法1] 父类1,[继承方法2]父类2,[继承方法3]父类3…..{
};
#include <iostream>
#include <string>
using namespace std;
class Fun_a
{
public:
int a = 5;
int b = 6;
void add()
{
cout << a + b << endl;
}
};
class Fun_b
{
public:
int c = 7;
int d = 8;
void add1()
{
cout << c + d << endl;
}
};
class Fun_c : public Fun_a, public Fun_b
{
public:
void getContent()
{
// 子类使用父类里面的变量
cout << a + b + c + d << endl;
}
};
int main()
{
Fun_a fun_a;
fun_a.add();
Fun_b fun_b;
fun_b.add1();
Fun_c fun_c;
fun_c.getContent();
// 子类调用父类的方法
fun_c.add();
fun_c.add1();
return 0;
}
还没有评论,来说两句吧...