21xrx.com
2024-12-22 22:23:45 Sunday
登录
文章检索 我的文章 写文章
C++虚函数简介
2023-07-02 17:49:11 深夜i     --     --
C++ 虚函数 简介 面向对象编程 多态性

C++是一种面向对象程序设计语言,它可以使用虚函数来实现多态性。虚函数是在基类中声明的一种特殊函数,在派生类中可以重写它的实现。

当一个对象被赋值给一个基类指针时,如果该对象是派生类的对象,则使用该对象上定义的虚函数。这样就实现了多态性,即一个方法调用可以产生不同的结果,这个结果取决于实例所属的类。

虚函数的使用需要满足两个条件:首先,虚函数必须在基类中声明为虚函数。其次,派生类中重写这个函数时必须使用关键字“override”。

考虑一个简单的例子,有一个形状(Shape)基类,其中包含一个draw()方法,在该方法的实现中打印“shape”字符串。还有一个矩形(Rectangle)派生类,它重写了该方法,在该方法中打印“rectangle”字符串。


#include <iostream>

class Shape {

public:

 virtual void draw()

  std::cout << "Shape" << std::endl;

 

};

class Rectangle : public Shape {

public:

 void draw() override

  std::cout << "Rectangle" << std::endl;

 

};

int main() {

 Shape* shape = new Rectangle();

 shape->draw();

 

 delete shape;

 return 0;

}

使用虚函数可以轻松实现多态性和代码复用,因为可以将派生类的对象赋值给基类对象,从而使用相同的方法名调用不同的实现。虚函数还可以用来实现访问控制和运行时类型识别(RTTI)。

虚函数是C++中非常重要的概念,它可以使代码更加灵活和可扩展。学习虚函数的使用可以使程序员更好地理解面向对象编程的概念和技巧。

  
  

评论区

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