在c++中,继承是一个对象自动获取其父对象的所有属性和行为的过程。 在示例方式中,您可以重用,扩展或修改在其他类中定义的属性和行为。
在c++中,继承另一个类的成员的类称为派生类,其成员被继承的类称为基类。 派生类是基类的子类。
代码可重用性:现在可以重用父类的成员。 因此,不需要再次定义那些跟父类成员。 因此在类中需要较少的代码,提高了代码的重用。
#include <iostream>
using namespace std;
class account {
public:
float salary = 60000;
};
class programmer: public account {
public:
float bonus = 5000;
};
int main(void) {
programmer p1;
cout<<"salary: "<<p1.salary<<endl;
cout<<"bonus: "<<p1.bonus<<endl;
return 0;
}
执行上面代码,输出结果如下 -
salary: 60000
bonus: 5000
在上面的例子中,employee
是基类,而programmer
类是派生类。
下面来看看看在继承方法的c++继承的另一个例子。
#include <iostream>
using namespace std;
class animal {
public:
void eat() {
cout<<"eating..."<<endl;
}
};
class dog: public animal
{
public:
void bark(){
cout<<"barking...";
}
};
int main(void) {
dog d1;
d1.eat();
d1.bark();
return 0;
}
执行上面代码,输出结果如下 -
eating...
barking...
当一个类继承一个被另一个类继承的类时,它被称为c++中的多级继承。 继承是传递的,所以最后的派生类获取所有其基类的所有成员。
下面来看看看在c++中多级继承的例子。
#include <iostream>
using namespace std;
class animal {
public:
void eat() {
cout<<"eating..."<<endl;
}
};
class dog: public animal
{
public:
void bark(){
cout<<"barking..."<<endl;
}
};
class babydog: public dog
{
public:
void weep() {
cout<<"weeping...";
}
};
int main(void) {
babydog d1;
d1.eat();
d1.bark();
d1.weep();
return 0;
}
执行上面代码,输出结果如下 -
eating...
barking?
weeping?