// Een object georienteerde oplossing ... wel HERBRUIKBAAR wel AANPASBAAR wel UITBREIDBAAR #include #include using namespace std; class ADCCard { public: ADCCard(); virtual ~ADCCard(); virtual void selectChannel(int channel) =0; int getChannel() const; virtual void setAmplifier(double factor) =0; double read() const; protected: void rememberChannel(int channel); void rememberAmplifier(double factor); private: double f; // amplifying factor int c; // selected channel virtual int sample() const =0; }; class AD178: public ADCCard { public: AD178(); virtual void selectChannel(int channel); virtual void setAmplifier(double factor); private: virtual int sample() const; }; class NI323: public ADCCard { public: NI323(); virtual void selectChannel(int channel); virtual void setAmplifier(double factor); private: virtual int sample() const; }; ostream& operator<<(ostream& out, const ADCCard& card) { return out<