在C++中,继承是通过使用冒号(:)和访问修饰符(public, protected, private)来实现的。以下是一个简单的继承示例:
#include <iostream>
// 基类(父类)
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
类的公共和保护成员函数。
注意,我们在基类中使用了虚析构函数,这是因为在通过基类指针删除派生类对象时,我们需要确保正确调用派生类的析构函数。