




C++ Virtual 是含义及使用
在 C++ 中,virtual 是一个关键字,用于声明虚函数。虚函数是一种特殊的成员函数,它允许在派生类中重写基类中的同名函数,并通过基类指针或引用调用派生类中的函数。
使用 virtual 关键字声明的函数被称为虚函数。在基类中声明虚函数时,可以使用 virtual 关键字将其标记为虚函数。例如:
class Base {
public:
virtual void foo() {
// 基类中的虚函数实现
}
};
在上述代码中,Base 类中的 foo() 函数被声明为虚函数。
当派生类继承了基类并重写了虚函数时,可以使用 override 关键字显式地标记该函数是对基类虚函数的重写。例如:
class Derived : public Base {
public:
void foo() override {
// 派生类中对虚函数的重写实现
}
};
在上述代码中,Derived 类继承自 Base 类,并重写了基类中的虚函数 foo()。
使用虚函数的主要目的是实现多态性。多态性是面向对象编程的一个重要概念,它允许通过基类指针或引用来调用派生类中的函数,从而实现动态绑定。例如:
Base* basePtr = new Derived(); // 使用基类指针指向派生类对象
basePtr->foo(); // 调用派生类中的 foo() 函数
在上述代码中,通过基类指针 basePtr 调用虚函数 foo(),实际上会调用派生类 Derived 中的实现。
总结一下,virtual 关键字用于声明虚函数,允许在派生类中重写基类中的同名函数,并通过基类指针或引用调用派生类中的函数,实现多态性。

在 C++ 中,一个类可以通过多重继承同时从多个基类派生,从而拥有多个超类。下面是一个示例:
class Base1 {
public:
void func1() {
// Base1 类的成员函数实现
}
};
class Base2 {
public:
voi

















![[设计模式Java实现附plantuml源码~结构型]对象的间接访问——代理模式](https://img-blog.csdnimg.cn/img_convert/5c2783973e906235d883ff563f9abbcc.png)

