[C++] Dziedziczenie i konstruktory
Ostatnio zmodyfikowano 2015-01-03 18:59
ciken007 Temat założony przez niniejszego użytkownika  | 
[C++] Dziedziczenie i konstruktory » 2015-01-03 18:47:12 Witajcie. Mam napisać program z 3 klasami: prostopadłościan, kula, bryła. 2 pozostałe mają dziedziczyć z bryły wartości pole podstawy i objętość. Mam do tego wszystkiego napisać metody pozwalające na obliczenie  pola powierzchni i objętości prostopadłościanu i kuli. Dziedziczenie wydaje się działać, tylko jakiekolwiek próby modyfikacji wartości się nie udają. Dodam że moja znajomość programowania jest na poziomie przedszkola ;) #include<iostream> #define PI 3.14 using namespace std;
  class bryla { protected:     double objetosc, pole_podstawy; public:     void przypisz( double a, double h )     {         pole_podstawy = a;         objetosc = h;     }     bryla()         : objetosc( 3 )          , pole_podstawy( 2 )     {         cout << "Konstruktor objetosc " << objetosc << endl;         cout << "Konstruktor pole " << pole_podstawy << endl;              }     ~bryla() { cout << "Destruktor bryla\n"; }      }; class prostopadloscian     : public bryla { protected:     double dl_kr; public:     double pole_p()     {         return pole_podstawy * 2;     }     double v()     {         return objetosc * 3;     } }; class kolo     : public bryla { protected:     double promien; public:     double pole_p()     {         return pole_podstawy * 10;     }     double v()     {         return objetosc * 10;     } };
  int main() {     bryla aaa;     prostopadloscian bbb;     kolo ccc;     return 0; }
   | 
 | 
DejaVu  | 
» 2015-01-03 18:59:59 class Bryla { public:     virtual double pole() = 0;     virtual double objetosc() = 0; };
  class Prostopadloscian     : public Bryla { public:     Bryla( float _x, float _y, float _z )         : m_x( _x )          , m_y( _y )          , m_z( _z )     {     }     double objetosc() override     {         return m_x * m_y * m_z;     }          double pole() override     {              }      private:     float m_x;     float m_y;     float m_z; };
  void wypisz( Bryla & bryla ) {      }
  int main() {     Prostopadloscian p( 3, 4, 5 );     wypisz( p ); }
  PS. Poczytaj sobie  Polimorfizm jeżeli czegoś nie rozumiesz.  | 
 | 
|  « 1 »  |