【发布时间】:2016-04-15 21:44:27
【问题描述】:
你能用类类型数据成员构建一个结构吗?
我有一个类文件,我的目标是构建一个链接的字符 lint,每个字符都有自己的名称和其他属性。
现在要构建列表,我需要一个保存数据的成员和一个节点指针 我的问题是我可以建立这样的东西。所有这些都是在一个类文件中完成的,每当我运行它时,我都会在结构中得到一个错误,BigHero 没有命名类型。
帮助这个菜鸟XD
#include <string>
#include <iostream>
using namespace std;
#ifndef BIGHERO_H
#define BIGHERO_H
struct Node{
BigHero data;
Node* Next;
};
class BigHero
{
public:
BigHero();
/* Parameterized constructor
* Set private members to parameter values
* NOTE: level is initialized as the interger division of exp/100
* i.e. if exp = 250 -> level = 2 */
BigHero(string newName, int newExp, int newStr, int newIntel, int newDex);
/* Accessors: each accessor will return the value of the appropriate
private data member */
string getName() const;
int getExp() const;
int getStr() const;
int getInt() const;
int getDex() const;
int getLevel() const;
/* Mutators: each mutator will take one parameter and update the
appropriate private data member
* The domain for each mutator is listed below.
* The mutator should protect against invalid values.
* An Invalid entry should result in the original value remaining unchanged. */
void setName( string newName ); // All strings are valid
void setExp( int newExp ); // 0 <= newExp <= 9000
void setStr( int newStr ); // 0 <= newStr <= 300
void setInt( int newInt ); // 0 <= newInt <= 300
void setDex( int newDex ); // 0 <= newDex <= 300
void setLevel( int newLevel ); // 1 <= newLevel <= 100
bool addExp( int amount );
void levelUp();
bool operator<( const BigHero& rhs ) const;
bool operator>( const BigHero& rhs ) const;
bool operator==( const BigHero& rhs ) const;
friend ostream& operator<< (ostream& os, const BigHero& rhs);
/* Input should be in the format: "Name exp Str Intel Dex"
* Don't forget to update level value to be equal to the integer division of exp/100 */
friend istream& operator>> (istream& is, BigHero& rhs);
~BigHero();
private:
string name; // Hero's name
int exp; // Experience points (100 exp = 1 level)
int level; // Hero's level
int Str; // Hero's strength
int Intel; // Hero's intelligence
int Dex; // Hero's dexterity
Node* head;
Node* tail;
};
#endif // BIGHERO_H
【问题讨论】:
-
#include
? -
这个结构在类文件中
-
编译好的类文件?
-
我认为您应该遵循教程。我很难看到 SO 对指导人们了解 C++ 的复杂性有什么好处
-
让我编辑帖子...将发布整个课程文件
标签: c++ class linked-list