Skocz do zawartości

Problem z klasami :/


TeoTN

Rekomendowane odpowiedzi

Mam taki fragment kodu:

#include <iostream>
#include <conio.h>
#include <string>
#include <fstream>
using namespace std;
class cOsoba
{
    private:
        string imie, nazwisko;
        int wiek, telefon;
    public:
        cOsoba()
        {
            imie=""; nazwisko="";
            wiek=0; telefon=0;
        }
        void setImie(string a) { imie=a; cout << "Zmieniono imie w cOsoba" <<endl;}
        void setNazwisko(string naz) { nazwisko=naz; }
        void setWiek(int w) { wiek=w; }
        void setTelefon(int t) { telefon=t; }
        string getImie() {return imie;}
        string getNazwisko() {return nazwisko;}
        int getWiek() {return wiek;}
        int getTelefon() {return telefon;}
};
class cLitera
{
    private:
        char znak;
        cOsoba tab[10];
        int ilemam;
    public:
    cLitera()
    {
        znak=0;
        ilemam=0;
    } 
    void addSign(char i) { znak=i; }
    void addPole(string a) {tab[ilemam].setImie(a); ilemam++; }
    string getPole(int a) {return tab[a].getImie();}
    int getIle() {return ilemam;}
};

I wysypuje się na "tab[ilemam].setImie(a);" :/ (Całość się kompiluje, ale w trakcie użycia wyrzuca "program przestał odpowiadać")

Czy ktoś może mi powiedzieć czemu?

Odnośnik do komentarza
Udostępnij na innych stronach

pewnie wychodziłeś poza zakres.

void addPole(string a){

if(ilemam<10)

{

tab[ilemam].setImie(a);

ilemam++;

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

do przechowywania danych zamiast tablic radzę używać vectorów (jeśli chcesz mieć szybki dostęp do elementów) bądź list (jeśli będziesz musiał operować na wszystkich elementach) ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...