Можете ли вы построить структуру с элементом данных типа класса?Связанный список, Class struct?
У меня есть файл класса, и моя цель - построить связанные линии символов, каждый со своими именами и другими атрибутами.
сейчас, чтобы построить список Мне нужен член, который будет хранить данные и указатель на узел Мой вопрос: могу ли я построить что-то вроде этого. все это делается в файле класса, и всякий раз, когда я запускаю его, я получаю сообщение об ошибке в структуре, 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? –
Pooya
Эта структура находится в файле класса – William
скомпилированный файл класса? – Pooya