在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 对象可以调用自己的版本。
- 继承允许代码重用,通过扩展现有的类来创建新的类,并且可以实现多态性,从而提高了代码的灵活性和可维护性。
|