C++ 抽象类快速使用

在C++中,你可以通过在类定义中使用纯虚函数(pure virtual Function)来创建一个抽象类。这里的“抽象”意味着这个类不能被实例化,即你不能创建这个类的对象。

在C++中,你可以通过在类定义中使用纯虚函数(pure virtual Function)来创建一个抽象类。这里的“抽象”意味着这个类不能被实例化,即你不能创建这个类的对象。

抽象类中至少包含一个纯虚函数。这个纯虚函数是一个不需要被实现的函数,它的存在仅仅是为了确保派生类提供具体的实现。

下面是一个C++抽象类的例子:

class Shape {
protected:
    int width, height;
public:
    Shape( int a = 0, int b = 0 )
    {
        width = a;
        height = b;
    }
    // 纯虚函数
    virtual int area() = 0;
};

在这个例子中,Shape类是一个抽象类,因为它包含一个纯虚函数area()。这意味着Shape不能被实例化,只能被继承。任何继承Shape的类都必须提供area()函数的具体实现。

下面是一个继承Shape类的Rectangle类的例子:

class Rectangle: public Shape {
    public:
    Rectangle( int a = 0, int b = 0 ):Shape(a, b) { }
    int area () {
        return (width * height);
    }
};

在这个例子中,Rectangle类继承了Shape类,并提供了area()函数的具体实现。现在你可以创建一个Rectangle对象并调用它的area()函数。

int main()
{
    Rectangle Rec(10, 7);
    cout << "Total Area: " << Rec.area() << endl;
    return 0;
}

这个程序会输出:Total Area: 70

请注意,抽象类不能被直接实例化,你必须实例化一个派生类的对象。如果尝试实例化一个抽象类的对象,编译器会报错。

posted @ 2024-05-05 13:12  FBshark  阅读(20)  评论(0编辑  收藏  举报