Попытка сделать программу тамагочи, но компилятор бросает неопределенная ссылка на «тамагочи :: возраст ошибки()использование класса над несколькими файлами .h .cpp main.cpp
Этот код будет идеально вернуть возраст Tamagotchi, который должен быть инициализирован до нуля в начале конструктором класса.
Я, очевидно, что-то испортил, но не знаю, где, если кто-нибудь увидит, где и может помочь мне понять, что было бы здорово!
Кроме того, если вы видите что-то плохое в практике кодирования, я новичок в этом, и я хочу улучшить, поэтому любая помощь приветствуется.
EDIT: whoops Я забыл скопировать и вставить определения функций из класса. Они есть, но я все еще получаю ошибку компилятора.
//tamagotchi.cpp
#include "tamagotchi.h"
#include <string>
/* return of Tamagotchi information */
std::string Tamagotchi::name() {return myName;}
int Tamagotchi::age() {return myAge;}
int Tamagotchi::happiness() {return myHappiness;}
int Tamagotchi::hunger() {return myHunger;}
bool Tamagotchi::rIsSick() {return isSick;}
-
//tamagotchi.h
#ifndef TAMAGOTCHI_H
#define TAMAGOTCHI_H
#include <string>
class Tamagotchi
{
public:
/* initialization of default for tamagotchi */
Tamagotchi()
: myName ("Default"),
myAge (0),
myHappiness (0),
myHunger (0),
isSick (false) { }
/* returning tamagotchi variables */
std::string name();
int age();
int happiness();
int hunger();
bool rIsSick();
private:
std::string myName;
int myAge;// defined from 0 - 50 based on hours
int myHappiness;// defined from 0 - 10
int myHunger; // defined from 0 - 10, greater is hungrier
bool isSick;// defines whether or not the Tamagotchi is sick
};
#endif
-
//main.cpp
#include "tamagotchi.h" // defines tamagotchi class
#include <string>
#include <iostream>
int main(){
Tamagotchi myTamagotchi;
std::cout << myTamagotchi.age();
return 0;
}
Благодаря