在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
请注意,抽象类不能被直接实例化,你必须实例化一个派生类的对象。如果尝试实例化一个抽象类的对象,编译器会报错。
标签:area,int,C++,Shape,纯虚,抽象类,快速,Rectangle From: https://www.cnblogs.com/FBsharl/p/18173430