Pagina 1 di 1

[C++] Array o vettore di oggetti

Inviato: sabato 25 giugno 2011, 20:59
da gabo
Ciao a tutti ho un problema con questo programma:

Codice: Seleziona tutto

#include <iostream>
#include <vector>
using namespace std;

	class Libro {
	public:
    char titolo[30];
   
    char *Libro::gettitolo(); 
    Libro::Libro(char *tit);

    };
    Libro::Libro(char *tit)
    {
       strcpy(titolo,tit);
      }    
    char *Libro::gettitolo()
    {
       return titolo;
    }
    
int main() {

Libro miolibro("aaa");
cout << miolibro.gettitolo();
}

Il programma funziona ma io volevo mettere in un array o in un vettore tutti i libri (di cui estenderò le proprietà (titolo,autore,etcc)) con una cosa del tipo:

  Libro arraylib[10];

oppure

  std::vector vettorelibri(10);
  vettorelibri.push_back(miolibro);

ma nessuno di questi due mi funziona... sapete dirmi dove sto sbagliando?

Grazie!

Re: [C++] Array o vettore di oggetti

Inviato: domenica 26 giugno 2011, 17:44
da albertlkj
non funziona cioè? non compila? che errore da?

EDIT: boh, compila e sembra funzionare non penso comunque sia codice scritto particolarmente bene.. (sto iniziando anche io a scrivere c++)

Codice: Seleziona tutto

#include <iostream>
#include <cstring>
#include <vector>
using namespace std;

class Book {
    public:
    char title[30];
   
    Book(char *tit)  {
        strcpy(title,tit);
    };
    
    char *gettitle() {
        return title;
    }
};

    
int main() {

    Book miolibro((char *)"aaa");
    cout << miolibro.gettitle() << endl;

   std::vector<Book> vettorelibri; 
   for (int i=0; i<10; i++) {
        Book l( (char *)"aaa" );

        vettorelibri.push_back(l);
    }

    for(int i=0; i<10; i++) {
        cout << vettorelibri[i].gettitle() << endl;
    }
};
fra l'altro non sono riuscito a concatenare una string con un int