在实例之间共享类变量而不使用静态
Sharing class variables between instances without using static
我有一个这样的层次结构:
Entity
/ |
Player Enemy Weapon
/ /
Slime Fly Sword Gun
等。还有一些代码:
class Entity {
public:
void LoadModel();
protected:
Model* model;
}
每个实体类都有自己的模型,或者至少,这就是我希望它的工作方式 - 问题是,如果我使模型对一个类静态,我会在每个派生类中重复代码来定义静态模型,然后在每个类中都有一个虚函数来返回它,以便基Entity
类可以使用其加载函数, 等。
因此,我想做的是能够使用基类的LoadModel()
函数为特定的派生类加载模型。这可能吗?我将如何实现这一目标?
在派生类的代码中,您可以使用
Derived d;
d.base::LoadModel();
相关文章:
- (为什么)我们可以在初始化中将非静态类成员分配给静态变量吗?
- 从静态成员函数访问私有非静态类变量 - C++
- 静态类变量的多重定义
- 重新声明的静态类变量
- 我应该更喜欢在类方法中使用静态类变量还是静态变量
- C++中线程计数的静态类变量
- 函数内部的静态变量与c++中的静态类变量
- 为什么不能将静态类变量分配给堆栈
- 在另一个类中创建一个静态类变量,使用已删除的函数 = 错误
- 在GCC中专门化静态类变量时出错:枚举示例
- 我可以在同一个.CPP文件中声明和定义静态类变量吗
- 为什么我可以在一个文件中无序地初始化两个静态类变量,而不能初始化三个
- 声明静态类变量
- 是在第一次调用静态成员函数之前初始化的静态类变量
- 不带CPP文件的c++静态类变量
- 未定义的静态类变量
- 哪里是静态类变量存储在内存中
- C++静态类变量初始化
- 如何在模板类中初始化这个静态类变量?
- 静态类变量的编译错误