21xrx.com
2024-11-05 14:40:31 Tuesday
登录
文章检索 我的文章 写文章
如何编写C++中的纯虚函数
2023-07-07 19:24:53 深夜i     --     --
C++ 纯虚函数 virtual =0 继承

在 C++ 中,纯虚函数是一种特殊的函数,它没有函数体,只有声明,被定义为纯虚函数的类称为抽象类。在抽象类中,纯虚函数用于定义一组必要的接口,以便派生类实现,并实现类之间的多态性。下面是如何编写 C++ 中的纯虚函数的方法。

首先,在类声明中定义纯虚函数。纯虚函数通常声明为 virtual 和 = 0。例如:


class Shape {

public:

 virtual void draw() = 0;

};

在这个例子中,类 Shape 定义了一个纯虚函数 draw()。当我们在派生类中实现 Shape 类时,我们必须实现 draw() 函数。

接下来,创建一个派生类并实现纯虚函数。派生类必须实现在抽象类中申明的所有纯虚函数,否则它也将被视为抽象类。例如:


class Circle : public Shape {

public:

 void draw()

  std::cout << "Drawing Circle" << std::endl;

 

};

在这个例子中,类 Circle 是 Shape 类的派生类,并实现了纯虚函数 draw()。注意,在实现纯虚函数时,我们不再使用 virtual 和 = 0。

最后,创建一个对象并调用纯虚函数。由于纯虚函数没有函数体,它不能被直接调用,必须在派生类中被实现后才能调用。例如:


int main() {

 Shape *s;

 Circle c;

 s = &c;

 s->draw();

 return 0;

}

在这个例子中,我们创建了一个 Shape 类的指针 s 和一个 Circle 类的对象 c。我们将指针 s 指向对象 c,然后调用 s->draw() 函数,由于 Circle 类实现了 draw() 函数,它将输出 "Drawing Circle"。

总之,纯虚函数是 C++ 中实现抽象类和多态性的重要机制。定义抽象类中的纯虚函数,然后在派生类中实现它们,可以让我们创建适应不同场景的灵活代码。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复