#include #include using namespace std; class TakistusKomponent{ public: virtual double kysiTakistus()=0; }; class Takisti : public TakistusKomponent{ double takistus; double maxVoimsus; public: Takisti(double t, double v){ takistus=t; maxVoimsus=v; } virtual double kysiTakistus(){return takistus;} double kysiMaxVoimsus(){return maxVoimsus;} double voolVastavaltPingele(double pinge){return pinge/takistus;} }; class JadaYhendus :public TakistusKomponent{ vector takistid; public: void lisaTakistusKomponent(TakistusKomponent *t){ takistid.push_back(t); } virtual double kysiTakistus(){ double summa=0; for(int i=0; ikysiTakistus(); } return summa; } }; int main(void){ Takisti *t1=new Takisti(807, 60); Takisti *t2=new Takisti(1200, 40); JadaYhendus *j=new JadaYhendus(); j->lisaTakistusKomponent(t1); j->lisaTakistusKomponent(t2); cout << j->kysiTakistus() << endl; Takisti *t3=new Takisti(500, 50); JadaYhendus *j2=new JadaYhendus(); j2->lisaTakistusKomponent(j); j2->lisaTakistusKomponent(t3); cout << j2->kysiTakistus() << endl; return 0; }