[cpp] - Klasa HUMAN

0

Siema!
Mam taki kodzik w c++:

#include <iostream>

typedef int Liczba; //Liczba to int

class Human
{ //klamra - poczatek bloku
public: //publiczne, tzn. ze bedzie mozna pozniej z tego skorzystac
	Human();
	~Human();

//----------------------------------------

	int GetAge() //podaj wiek
{ //klamra - poczatek bloku
	return Age; //zwroc wiek
} //klamra - koniec bloku
	void SetAge(int NewAge) //zmien wiek
{ //klamra - poczatek bloku
	Age = NewAge; //zmien wiek na nowy wiek
} //klamta - koniec bloku

//----------------------------------------

	char GetName() //podaj imie
	{ //klamra - poczatek bloku
	return Name; //zwroc imie
} //klamra - koniec bloku
	void SetName(char NewName) //zmien imie
{ //klamra - poczatek bloku
	Name = NewName; //zmien imie na nowe imie
} //klamra - koniec bloku

//----------------------------------------

	char GetSurname() //podaj nazwisko
	{ //klamra - poczatek bloku
	return *Surname; //zwroc nazwisko
} //klamra - koniec bloku
	void SetSurname(char NewSurname) //zmien nazwisko
{ //klamra - poczatek bloku
	Surname = NewSurname; //zmien imie na nowe imie
} //klamra - koniec bloku

//----------------------------------------

	char GetNick() //podaj nick
	{ //klamra - poczatek bloku
	return *Nick; //zwroc nick
} //klamra - koniec bloku
	void SetNick(char NewNick) //zmien nick
{ //klamra - poczatek bloku
	Nick = NewNick; //zmien nick na nowy nick
} //klamra - koniec bloku
//----------------------------------------

private //prywatne, tzn. ze nie bedzie mozna pozniej z tego korzystac (chociaz to zalezy od punktu widzenia...)
	int Age;// = 10; //zmienna skladowa
	char *Name; //zmienna skladowa
	char *Surname; //zmienna skladowa
	char *Nick; //zmienna skladowa
}; //klamra - koniec bloku

Human::Human()
{
	Human::Age = new int (10);
	Human::SetName = new char ("Daniel"));
	Human::SetSurname = new char("Frąk"));
	Human::SetNick = new char("Dandi(8)")); 
}

Human::~Human()
{
	delete Age;
	delete Name;
	delete Surname;
	delete Nick;
} 

int main() //glowne
{   //klamra - poczatek bloku
	using std::cout; //aby nie trzeba bylo dopisywac "std::" do cout (tylko!)

	Liczba L5, L2, L1; //L5, L2 i L1 to Liczba, czyli int
    L5 = 5; //L5 przechowuje liczbe 5
	L2 = 2; //L2 przechowuje liczbe 2
	L1 = 1; //L1 przechowuje liczbe 1
	cout << "Witaj Swiecie! " << " Siemki!\n" << (L5 + L1 - L2 * L2 * L2 / L2) << " to moja szczesliwa liczba!\n"; //wyswietla na ekranie tekst
}   //klamra - koniec bloku

Jestem początkujący w cpp i nie wiem, jakie tu są cztery błędy :-8 ...
Może ktoś z was wie?? wielkie dzięki za każde podpowiedzi (na temat błędów) :-)

0

Cztery ?? Mi wyskoczyło : 'Too many error or warning messages ...' a mam ustawionych 10 errorów i 100 łorningów, ale tego nie przekroczyłeś - na szczęście za krótki program. :-8

#include <iostream>

typedef int Liczba; 

class Human{ 
  public:
  Human();
  ~Human();
  int GetAge(){return Age;}
  void SetAge(int NewAge){Age = NewAge;}
  char* GetName(){return Name;}
  void SetName(char* NewName){Name = NewName;}
  char* GetSurname(){return Surname;}
  void SetSurname(char* NewSurname){Surname = NewSurname;}
  char* GetNick(){return Nick;}
  void SetNick(char* NewNick){Nick = NewNick;}

  private:
  int Age;
  char* Name;
  char* Surname;
  char* Nick;
};

Human::Human(){
  Age = 10;
  SetName = "Daniel";
  SetSurname = "Frąk";
  SetNick = "Dandi(8)"; 
}

Human::~Human(){} 

int main(){
  using std::cout;
  Liczba L5, L2, L1;
  L5 = 5;
  L2 = 2;
  L1 = 1;
  cout << "Witaj Swiecie! " << " Siemki!\n" << (L5 + L1 - L2 * L2 * L2 / L2) << " to moja szczesliwa liczba!\n";
  return 0; // tylko jeden komentaż skoro to funkcja to niech zwraca wynik
} 

Nie wydaje ci się, że bez oczywistych komentazy typu 'to jest klamra' ten program robi sie o niebo czytelniejszy?

0

tak tylko zerknąłem

ale chyba jak masz Name jako wskaznik do char to musisz napisac
char* GetName() //podaj imie <---tu jest char* zamiast char
{ //klamra - poczatek bloku
return Name; //zwroc imie
} //klamra

0

Nie, to nie to...

1 użytkowników online, w tym zalogowanych: 0, gości: 1