溫馨提示×

C++抽象類如何定義

c++
小樊
81
2024-11-09 04:27:31
欄目: 編程語言

在C++中,抽象類是一種不能被實例化的類,它通常用作基類來定義接口和實現(xiàn)一些通用的功能

  1. 定義一個包含純虛函數(shù)的類:
class AbstractClass {
public:
    // 構(gòu)造函數(shù)
    AbstractClass() {
        // ...
    }

    // 虛析構(gòu)函數(shù),以確保派生類的析構(gòu)函數(shù)被正確調(diào)用
    virtual ~AbstractClass() {
        // ...
    }

    // 純虛函數(shù),沒有定義實現(xiàn)
    virtual void pureVirtualFunction() = 0;
};

在這個例子中,AbstractClass 是一個抽象類,因為它包含了一個純虛函數(shù) pureVirtualFunction()。純虛函數(shù)的定義以= 0結(jié)尾,這意味著任何繼承自 AbstractClass 的派生類都必須提供這個函數(shù)的實現(xiàn)。

  1. 繼承抽象類并實現(xiàn)純虛函數(shù):
class DerivedClass : public AbstractClass {
public:
    // 構(gòu)造函數(shù)
    DerivedClass() {
        // ...
    }

    // 析構(gòu)函數(shù)
    ~DerivedClass() {
        // ...
    }

    // 實現(xiàn)純虛函數(shù)
    void pureVirtualFunction() override {
        // ...
    }
};

在這個例子中,DerivedClass 繼承自 AbstractClass 并實現(xiàn)了 pureVirtualFunction()?,F(xiàn)在,DerivedClass 可以被實例化,并且可以用來創(chuàng)建對象,這些對象可以調(diào)用 pureVirtualFunction() 函數(shù)。

0