Klasy podstawy
Ostatnio zmodyfikowano 2017-03-17 09:37
andrzejek97 Temat założony przez niniejszego użytkownika |
Klasy podstawy » 2017-03-16 21:39:34 Witam, mam pewien problem nie do końca rozumiem błędy wyrzucane przez kompilator, jak również chciałbym dowiedzieć się jak sprawić, by niektóre sposoby wywoływania metod zadziałały, wklejam kod programu, który to ilustruje #include <iostream>
using namespace std;
class Rectangle { int width, height; public: Rectangle(); Rectangle( int, int ); int area() { return( width * height ); } };
Rectangle::Rectangle() { }
Rectangle::Rectangle( int a, int b ) { width = a; height = b; }
int main() { Rectangle rect_a(); Rectangle rect_b( 5, 6 ); cout << rect_a.area() << endl; cout << rect_b.area() << endl; cout << rect_b.width * rect_b.height << endl; return 0; } |
|
pekfos |
» 2017-03-16 22:51:08 |
|
andrzejek97 Temat założony przez niniejszego użytkownika |
» 2017-03-16 23:16:58 A rectangle rect_b(5, 6)? |
|
andrzejek97 Temat założony przez niniejszego użytkownika |
» 2017-03-16 23:36:55 Rectangle rect_a bez nawiasów działa, a czy to przypadek, że za każdym razem dostaję teraz wartość 288 ? |
|
hit |
» 2017-03-17 09:37:42 W którym miejscu otrzymujesz tą wartość? Jeśli przy wyliczaniu pola rect_a, to pewnie dlatego, że widht i heigth mają ustawione przypadkowe wartości ( Ty nie ustawiasz im żadnych ). Edit: cout << rect_b.width * rect_b.height << endl;
Istnieje, poczytaj o prawach dostępu. Jednak sposób z wywoływaniem metody area jest lepszy. http://cpp0x.pl/kursy/Kurs-C++/Klasy-obiekty/311 |
|
« 1 » |