CounterEX.h
#ifndef CounterEX_h #define CounterEX_h class CounterEX: public Counter{ public: void downVal(); CounterEX(int initVal); CounterEX(); }; #endif
CounterEX.cpp
#include "Counter.h" #include "CounterEX.h" void CounterEX::downVal(){ this->val--; } CounterEX::CounterEX(int initVal): Counter(initVal){} CounterEX::CounterEX(): Counter(){}
test.cpp
#include <iostream> using namespace std; #include "Counter.h" #include "CounterEX.h" int main(){ const int n = 3; CounterEX cnt[n]; cnt[0] = CounterEX(10); cnt[1] = CounterEX(100); for(int i=0; i<2 ; i++){cnt[0].upVal();} for(int i=0; i<4 ; i++){cnt[1].upVal();} for(int i=0; i<10; i++){cnt[2].downVal();} for(int i=0; i<n; i++){ cout << cnt[i].getVal() << endl; } system("pause"); return 0; }