c++, klasa - string does not a type

0

Witam,

Zacząłem bawić się w obiektówke w c++ i od razu mam problem :/
Chciałem napisać program do "obsługi książki". I podczas kompilacji wyskakuje mi błąd: "String does not a type".
Nie rozumiem tego błędu...
Mógłby mi ktoś wytłumaczyć o co tu chodzi?

 #include <cstdlib>
#include <iostream>
#include <conio.h>
#include <cstring>

class ksiazka
{
 private:
         string nazwa;
         int strony;
         string autor;
         int akt_str;
 public:
        ksiazka(string nazwa, int strony, string autor);
        void aktualna_strona();
        void doczytane();        
} 

ksiazka(string nazwa, int strony, string autor)
{
 this.nazwa = nazwa;               
}

using namespace std;

int main(int argc, char *argv[])
{
    string nazwa, autor;
    int strony;
    
    cout << "Tytul ksiazki: " << endl;
    cin >> nazwa;
    
    cout << "Autor ksiazki: " << endl;
    cin >> autor;
    
    cout << "Ilosc stron: " << endl;
    cin >> strony;
    
    ksiazka book(nazwa, strony, autor);
    
    getch();
}

Pozdrawiam

1

Przenieś

using namespace std;

zaraz po dołączeniu plików nagłówkowych

#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <cstring>

using namespace std;

// itd ....

Ewentualnie możesz dołączyć

#include <string> 
0
#include <string>

cstring to co innego...

1

Jak wyżej + jeżeli nie masz using namespace std; lub using std::string; przed użyciem string - to musisz użyć std::string. ;)

0

eee... rzeczywiście... nie zauważyłem że nie dodałem tam gdzie trzeba... :)

Dzięki za pomoc ;)

0

This to wskaźnik. Powinno być w konstruktorze this -> nazwa = nazwa. A jeszcze lepiej by było skorzystać z listy inicjalizacyjnej konstruktora. Książka(string a) : nazwa(a);

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