【发布时间】:2014-09-02 23:51:49
【问题描述】:
我有一个带有结构的标题:
#ifndef CHARACTER_H_
#define CHARACTER_H_
#include <string>
using namespace std;
struct Character
{
string name;
static string type;
static int baseHp, baseAttack, baseDefence;
};
#endif
我有一个继承该标头的类,我想在继承类的结构中定义静态变量。说我的继承类如下:
#include "Character.h"
#include <string>
class Rouge: private Character
{
public:
Rouge(string name)
{
this->name = name;
}
string getName()
{
return name;
}
};
我将在 Rouge 类中的什么位置定义在 Character 标头中声明的静态变量,我将如何去做?
【问题讨论】:
-
您确定您了解声明和定义在多种情况下的区别吗?
-
@Steven:如果你故意使用不正确的词汇,人们应该怎么知道你在说什么?当然很重要。
-
@StevenFontaine 电气工程师在表示“安培”时不会说“伏特”,如果他们这样做了,人们会死,包括其他电气工程师。没有理由让 IT 更马虎。
-
@StevenFontaine:当我回答你的问题时,不明白你为什么向我抱怨人们没有提供帮助。术语很重要,这一点同样正确,因为专家可以通过启发式和直觉判断你真正想说什么。坦率地说,作为 OP,您没有资格走捷径并假设您的近似值是明确/不重要的。不要试图表现得粗鲁或混蛋之类的。
-
@StevenFontaine:啊,是的,这将是 Janeway 船长解决问题的方法:用熟悉的事物类比来解释困难的现实(“事件视界就像湖的冰冻表面"),假装类比是字面的,通过解决类比来行动(“我们只需要打破冰块!”),获利。不幸的是,这并不总是适用于 C++...