operator kropki, a metoda i obiekt
Ostatnio zmodyfikowano 2016-02-09 15:05
zolty13 Temat założony przez niniejszego użytkownika |
operator kropki, a metoda i obiekt » 2016-02-09 14:47:09 http://4programmers.net/Pastebin/4970 mam taki prosty programik, ucze się obiektowo programować i mam pytanie czemu nie mogę strumieniem cout wypisac np modelu auta z operatorem kropki, albo wywolac metody również w ten sam sposób tylko za pomocą -> (to co nie działa w komentarzach) dzięki wielkie za pomoc :) |
|
notabigthreat |
» 2016-02-09 14:58:31 Najpierw wkleję kod, żeby było wiadomo, o co chodzi: #include <iostream> #include <cstdlib>
using namespace std;
class Silnik { public: int moc; int max_moment_obr; Silnik( int moc, int moment ) { this->moc = moc; this->max_moment_obr = moment; } };
class Samochod { public: Silnik silnik; string model; Samochod( string MODEL, int MOC, int MOMENT ) : silnik( MOC, MOMENT ) , model( MODEL ) { } void informacje() { cout << "model: " << model << "\nmoc: " << silnik.moc << "\nmax moment obrotowy: " << silnik.max_moment_obr << "\n\n"; } };
int main() { Samochod * fiat = new Samochod( "Fiat 126p", 23, 3200 ); fiat->informacje(); system( "pause" ); return 0; } fiat jest wskaźnikiem, więc trzeba po pierwsze uzyskać wskazywany obiekt, po drugie uzyskać z niego składową. Obie te rzeczy robi strzałka ( ->). Samochod * fiat = new Samochod( "Fiat 126p", 23, 3200 ); cout << fiat->model; cout << "\n"; cout << fiat->silnik.moc; cout << "\n"; fiat->informacje(); delete fiat;
|
|
zolty13 Temat założony przez niniejszego użytkownika |
» 2016-02-09 15:05:41 dzięki wielkie faktycznie zapomniałem spojrzeć ze to dynamiczna alokacja, kod skopiowany :) dopiero się ucze obiektowki |
|
« 1 » |