クラスでカウンターを表現する、を継承する

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;
}

f:id:ti-nspire:20181203143001p:plain