c++ 类虚函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c++ 类虚函数
在C++中,虚函数是一种特殊的函数,它可以被子类重写,但它的行为取决于对象的实际类型。

这意味着,如果你有一个指向基类的指针,但指向的对象是子类,那么调用虚函数时会调用子类的实现。

为了将函数定义为虚拟的,您需要在函数声明前面添加关键字“virtual”。

例如:
```
class Base {
public:
virtual void foo() {
std::cout << 'Base::foo()' << std::endl;
}
};
```
这声明了一个名为“foo”的虚函数,它在基本类中实现,并可以在子类中重写。

子类可以通过覆盖基类中的虚函数来提供自己的实现。

例如:
```
class Derived : public Base {
public:
void foo() override {
std::cout << 'Derived::foo()' << std::endl;
}
};
```
这里的“override”关键字告诉编译器,您打算重写基类中的函数。

当您使用基类指针调用虚函数时,将调用实际对象的实现。

例如: ```
Base* b = new Derived();
b->foo(); // 输出:Derived::foo()
```
因为“b”指向一个派生对象,“foo”函数的派生实现将被调用。

总之,虚函数是C++中强大的工具,它使多态和继承更容易实现。

但是,您需要小心使用它们,以避免潜在的性能问题和运行时错误。

相关文档
最新文档