#include <iostream> using namespace std; class GCM { private: int wk,val; public: GCM(int v1, int v2) { cout << "GCM Constructor の開始\n"; wk= v1; val= v2; while(wk!=val) { if (wk>val) wk-= val; else val-= wk; } } ~GCM() { cout << "GCM Destructor の開始\n"; } int GetGcm() { return val; } }; |
class LCM : public GCM |
LCM(int v1, int v2) : GCM(v1, v2) |
GetGcm() |
class LCM : public GCM { private: int val; public: LCM(int v1, int v2) : GCM(v1, v2) { cout << "LCM Constructor の開始\n"; val= v1*v2/GetGcm(); } ~LCM() { cout << "LCM Destructor の開始\n"; } int GetLcm() { return val; } }; |
LCM *Lcmcls; int main() { cout << "main() の開始\n"; Lcmcls = new LCM(24,32); cout << "GCM(24,32) は " << Lcmcls->GetGcm() << " で、 LCM(24,32) は " << Lcmcls->GetLcm() << " です\n"; delete Lcmcls; cout << "main() の終了\n"; return 0; } |