Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tworzenie obiektów przez program

Ostatnio zmodyfikowano 2014-01-26 16:42
Autor Wiadomość
adik_114
Temat założony przez niniejszego użytkownika
Tworzenie obiektów przez program
» 2014-01-26 10:56:11
Witam,

Mam pytanie, otóż robię sobie program tak jakby dla biblioteki w którym będzie można dodawać/usuwać pozycje, wypożyczać książki i wpisywać jej zwroty, i teraz moje pytanie, czy jest możliwość aby program sam tworzył obiekt o innej nazwie?
Chodzi o to, że w kodzie:

C/C++
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <fstream>
using namespace std;
class pozycja {
public:
    string tytul;
    string autor_im;
    string autor_naz;
    string isbn;
    void wyswietl();
    pozycja( string, string, string, string );
    ~pozycja();
   
};
class klient {
    string imie, nazwisko;
    short int wiek;
};
string login, haslo, tyt, im, naz, is;
char wybor;
void tworz_konto();
void tworz_pozycje();
int main() {
   
   
    tworz_pozycje();
   
   
   
   
   
    return 0;
}
void pozycja::wyswietl() {
    cout << "Tytul pozycji: " << tytul
    << "\nNazwisko autora: " << autor_naz << " Imie autora: " << autor_im
    << "\nNumer ISBN: " << isbn;
}
pozycja::pozycja( string tyt, string im, string naz, string is ) {
    tytul = tyt;
    autor_im = im;
    autor_naz = naz;
    isbn = is;
    cout << "\nPozycje utworzono...\n";
}
pozycja::~pozycja() {
    cout << "\nUsunieto pozycje...\n";
}
void tworz_konto() {
   
   
   
    cout << "Podaj login: ";
    string a, b, b1;
    cin >> a;
    login = a;
    char c;
    do {
        cout << "\nPodaj haslo: ";
        cin >> b;
        cout << "\nPotwierdz haslo: ";
        cin >> b1;
        if( b == b1 ) { haslo = b; c = 't'; }
        else { cout << "\nHaslo nie prawidlowe..."; c = 'n'; }
    } while( c == 'n' );
   
    cout << "\nKonto utworzone. Prosze czekaj...";
    Sleep( 2500 );
    system( "cls" );
   
}
void tworz_pozycje() {
    do {
        system( "cls" );
        cout << "Podaj tytul: ";
        cin >> tyt;
        cout << "\nPodaj imie autora: ";
        cin >> im;
        cout << "\nPodaj nazwisko autora: ";
        cin >> naz;
        cout << "\nPodaj ISBN: ";
        cin >> is;
        pozycja a000001( tyt, im, naz, is );
        cout << "Dodac nastepna? t/n: ";
        cin >> wybor;
    } while( wybor == 't' );
   
}

w funkcji tworz_pozycje na końcu tworzona jest pozycja a potem program pyta czy dodać następną, jeśli tak to funkcja działa od początku ale zgodnie z powyższym nowe dane będzie przypisywać dla pozycji a000001. Czy program może zmienić nazwę nowego obiektu np na a000002?
P-103218
anonim
» 2014-01-26 11:04:06
Zrób to w wektorze, albo w tablicy, albo w mapie(wtedy możesz się odwoływać do książek po Twoich identyfikatorach)
Poczytaj 0:
std::vector
std::map
P-103219
leon_w
» 2014-01-26 16:42:48
Może by się dało dać ten index początkowo jako int, konstruktor by dodawał za każdym razem 1, ew, destruktor by odejmował. Później prze konwertować to do stringa i podstawić.
P-103260
« 1 »
  Strona 1 z 1