###C++ 继承简介:
面对对象程序设计的很重要的一个概念是 继承 也是 c++ 三大特性之一.
继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。
这样做,也达到了重用代码功能和提高执行时间的效果。
当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。
这个已有的类称为基类(父类),新建的类称为派生类(子类)。
demo:
#include <iostream>
#include <string>
using namespace std;
class father {
public:
string car_ = "BMW";
void have(){
cout << "money :" << money_ << endl;
cout << "car :" << car_ << endl;
}
protected:
int money_ = 1000;
private:
bool wife_ = true;
};
class son :public father{
public:
void doWork() {
money_ = 100;
car_ = "五菱";
}
};
int main()
{
father f;
f.have();
son t;
t.doWork();
t.have();
system("pause");
return 0;
}
父类的 共有变量 car 和 保护变量 money 子类都可以访问 私有成员不可访问.
##访问控制和继承:
派生类
可以访问基类
中非私有变量,如果我们不想让派生类
访问基类成员
,可以设为私有(private).
访问权限图:
|访问|public|protected|private|
|:-|:-|
|基类(父类)|yes|yes|yes|
|派生类(子类)|yes|yes|no|
|其他外部类|yes|no|no|
派生类不能继承子类的方法:
-
基类的构造 析构 拷贝构造
-
基类的重载运算符
-
基类友元函数
##继承类型:
派生类
继承基类
3种类型: -
公有继承 (public): 基类(父类)的
保护成员
和公有成员
保持不变.
-
保护继承 ( protected):基类(父类)的
保护成员
和公有成员
全部成为派生类(子类)的保护成员
-
私有继承 ( private):基类(父类)的
保护成员
和公有成员
全部变为派生类(子类)的私有成员
98年菜鸡一枚,请大佬们多多关照!