在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
類的公共和保護成員函數。
注意,我們在基類中使用了虛析構函數,這是因為在通過基類指針刪除派生類對象時,我們需要確保正確調用派生類的析構函數。