为什么需要继承?
继承:减少代码重复内容。C++通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。
一个B类继承于A类,或称从A类派生类B。这样的话,类A成为基类,类B成为派生类。
派生类的成员,包含两大部分:
- 一类是从基类继承过来的,一类是自己增加的成员
- 从基类继承过来的表现其共性,而新增的成员体现了其个性
派生类继承方式:
#define _CRI_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
using namespace std;
#include<iostream>
#include<string>
class Base1
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
//公有继承
class Son1 :public Base1
{
public:
void func()
{
//cout << m_C << endl; //基类中私有的属性,不可继承
cout << m_A << endl; //基类中的公有属性,可以继承,还是public
cout << m_B << endl;//基类中的保护属性,可以继承,还是protected 类外访问不到
}
};
void myFunc()
{
Son1 s1;
s1.m_A;
// s1.m_B;
}
/// /保护继承///
class Base2
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
class Son2 :protected Base2
{
public:
void func()
{
//cout << m_C << endl; //基类中私有的属性,不可继承
cout << m_A << endl; //基类中的公有属性,可以继承,还是protected
cout << m_B << endl;//基类中的保护属性,可以继承,还是protected 类外访问不到
}
};
void myFunc1()
{
Son2 s2;
// s2.m_A;
// s1.m_B; //类外不能访问
}
//