#include <iostream>
class Animal {
public:
void eat() {
std::cout << "Animal is eating" << std::endl;
}
void sleep() {
std::cout << "Animal is sleeping" << std::endl;
}
};
class Dog : public Animal {
public:
void eat() override {
std::cout << "Dog is eating" << std::endl;
}
};
int main() {
Dog dog;
dog.eat();
dog.sleep();
return 0;
}
继承方式对基类成员访问权限的影响
- public继承:
- 基类的
public
成员在派生类中仍然是public
的。
- 基类的
protected
成员在派生类中仍然是protected
的。
- 基类的
private
成员在派生类中是不可访问的。
- protected继承:
- 基类的
public
成员和protected
成员在派生类中都变成protected
的。
- 基类的
private
成员在派生类中是不可访问的。
- private继承:
- 基类的
public
成员和protected
成员在派生类中都变成private
的。
- 基类的
private
成员在派生类中是不可访问的。