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

Tworzenie klas

Ostatnio zmodyfikowano 2017-07-04 23:20
Autor Wiadomość
Masterpc16
Temat założony przez niniejszego użytkownika
Tworzenie klas
» 2017-07-04 22:12:27
Witam zaczynam sobie przypominać to co kiedyś się uczyłem z c++, w między czasie nauczyłem się javy.

Uczę się z tutejszego kursu i gdy chcę utworzyć nową klasę w clion to tworzy mi się plik .cpp oraz .hpp z tego co rozumiem .hpp jest interfejsem przy dzieleniu kodu na kawałki. Czy przy tworzeniu nowej klasy też nam on jest potrzebny w roli interfejsu? Wydaje mi się że nie bo jakbyśmy mieli w klasie metodę dodajDwa to klasa byłaby pusta bo ciało metody piszemy poza klasą.
P-163036
Kinexity
» 2017-07-04 22:51:14
Jeżeli dobrze zrozumiałem sens pytania, to z tego co mi wiadomo, jeżeli klasa ma być w wydzielonym pliku to pliku nagłówkowy (.hpp) zawsze musi być.
Nie rozumiem, co rozumiesz przez to, że mając pojedynczą metodę nagłówek byłby pusty.

P-163037
Masterpc16
Temat założony przez niniejszego użytkownika
» 2017-07-04 23:00:41
Chciałbym utworzyć klasę w nowym pliku np miała by to  być klasa math i na razie miałaby jedną metodę add (dla ułatwienia :)) mógłbyś mi podpowiedzieć co miało by być w pliku hpp?

plik cpp utworzyłbym tak
C/C++
class math {
    add( int a, int b );
}
math::add( int a, int b ) {
    int sum = a + b;
    cout << "Wynik dodawania to " << sum << endl;
}
P-163038
Kinexity
» 2017-07-04 23:06:14
Do pliku hpp leci:
C/C++
class math {
    add( int a, int b );
};
P-163039
Masterpc16
Temat założony przez niniejszego użytkownika
» 2017-07-04 23:11:10
jedyna różnica między dzieleniem pliku na kawałki a tworzeniem klasy to to że z klasy mogę utworzyć obiekt?
a jak wtedy wygląda cpp tej klasy tak samo? nie chodzi mi oczywiście o include ;P
P-163040
Kinexity
» 2017-07-04 23:17:21
Ale to jest cały czas jedna klasa i tyle - żadne właściwości się nie zmieniają. Różnica jest tylko w liczbie plików. To jest tylko i wyłącznie kwestia wygody, że sobie podzielisz.
P-163041
Masterpc16
Temat założony przez niniejszego użytkownika
» 2017-07-04 23:20:26
Wielkie dzięki za pomoc :)
P-163042
« 1 »
  Strona 1 z 1