クラス型データメンバで構造体を構築できますか?リンクされたリスト、クラス構造体?
私はクラスファイルを持っています。私の目標は、それぞれ独自の名前と他の属性を持つ文字のリンクされたリントを構築することです。
リストを作成する私はデータとノードポインタを保持するメンバーが必要です 私の質問は私のようなものを構築することができます。これはすべてクラスファイルで行われています。実行するたびに構造体にエラーが発生しますが、BigHeroは型名を指定しません。私は、問題は、それが構造体の定義になったときにC++コンパイラはまだBigHeroクラスを見ていないので、それはで何をすべきかわからないということである疑いがある
ヘルプこのnoobのの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? –
Pooya
この構造体はクラスファイル – William
のクラスファイルにありますか? – Pooya