在C++中,继承是通过使用冒号(:)和访问修饰符(public, protected, private)来实现的。以下是一个简单的继承示例:
#include// 基类(父类) class Base { public: // 构造函数 Base() { std::cout << "Base constructor called" << std::endl; } // 虚析构函数,以便在删除派生类对象时正确调用派生类的析构函数 virtual ~Base() { std::cout << "Base destructor called" << std::endl; } // 基类成员函数 void baseFunction() { std::cout << "This is a function from the Base class" << std::endl; } }; // 派生类(子类),继承自Base class Derived : public Base { public: // 构造函数 Derived() { std::cout << "Derived constructor called" << std::endl; } // 派生类成员函数 void derivedFunction() { std::cout << "This is a function from the Derived class" << std::endl; } }; int main() { // 创建一个派生类对象 Derived d; // 通过基类指针调用派生类成员函数 Base *b = &d; b->baseFunction(); // 输出:This is a function from the Base class b->derivedFunction(); // 输出:This is a function from the Derived class return 0; }
在这个示例中,我们创建了一个名为Base
的基类和一个名为Derived
的派生类。Derived
类通过使用public
关键字继承自Base
类。这样,Derived
类就可以访问Base
类的公共和保护成员函数。
注意,我们在基类中使用了虚析构函数,这是因为在通过基类指针删除派生类对象时,我们需要确保正确调用派生类的析构函数。