在C++中,类的继承、覆盖和隐藏是面向对象编程的重要概念
class Base {
public:
void foo() {
// ...
}
};
class Derived : public Base {
// ...
};
class Base {
public:
virtual void foo() {
// ...
}
};
class Derived : public Base {
public:
void foo() override {
// ...
}
};
class Base {
public:
void foo() {
// ...
}
};
class Derived : public Base {
public:
void foo() {
// ...
}
};
总结一下,继承是一种创建新类的方式,允许子类重用父类的代码;覆盖是指子类重新定义了父类中的虚函数,实现多态性;隐藏是指子类中的函数与父类中的非虚函数同名,导致子类对象只能访问子类中的实现。