在C++中,继承是一种面向对象编程的重要概念,允许你创建一个新的类(子类或派生类),从一个或多个现有类(基类或父类)中继承属性和行为。子类可以访问和使用基类中的非私有成员(成员变量和成员函数),并且可以添加新的成员和方法。这种机制可以促进代码重用和扩展。
#include <iostream>
#include <string>
// 基类
class Person {
protected: // 可以被派生类访问,但不能被外部访问
std::string name;
public:
Person(const std::string &n) : name(n) {}
void display() {
std::cout << "Name: " << name << std::endl;
}
};
// 派生类
class Student : public Person {
private:
int studentID;
public:
Student(const std::string &n, int id) : Person(n), studentID(id) {}
void display() { // 重写基类的display函数
std::cout << "Student Name: " << name << std::endl;
std::cout << "Student ID: " << studentID << std::endl;
}
};
int main() {
Person person("Alice");
person.display(); // 输出:Name: Alice
Student student("Bob", 12345);
student.display(); // 输出:Student Name: Bob Student ID: 12345
return 0;
}
在这个例子中,Person 是基类,Student 是派生类。Student 类继承了 Person 类的 name 属性,并添加了一个新的属性 studentID。派生类中的 display() 函数重写了基类中的 display() 函数,使得 Student 对象可以调用自己的版本。
继承允许代码重用,通过扩展现有的类来创建新的类,并且可以实现多态性,从而提高了代码的灵活性和可维护性。
|