resistor.cpp /2
/** * \file resistor.cpp * (UTF-8 kodolasu fajl. Allitsa at a megjenetes kodolasat, * ha a tovabbi kommentek nem olvashatok helyesen!) * * Ohmikus ellenállást modellező osztály megvalósítása */ /** * Itt kell megvalósítani a resistor.h-ban deklarált nem inline függvényeket. * A Jportára ezt a fájlt kell feltölteni. */ #include "resistor.h" double Resistor::defR = 64; Resistor::Resistor(){R = defR; Pr("ctor0");} Resistor::Resistor(double r) {R = r; Pr("ctor1");} void Resistor::setDef(double r) {defR = r;} Resistor Resistor::operator+(const Resistor& r) const { Resistor res(R + r.R); return res; } Resistor Resistor::operator%(const Resistor& r) const { Resistor res(1 / ( (1/R) + (1/r.R) ) ); return res; } Resistor operator*(int n, const Resistor& r) { if (n <= 0) throw "GTD6KM"; Resistor res(0); for (int i = 0; i < n; i++) res = res + r; return res; } Resistor::Resistor(const Resistor& rhs) :R(rhs.R) {Pr("copy");} Resistor::~Resistor() {Pr("dtor");} Resistor& Resistor::operator=(const Resistor& rhs) { Pr("assign"); this->R = rhs.r; return *this; } //R = U / I double Resistor::getI(double u) const {return u / R;} double Resistor::getU(double i) const {return i * R;} bool Resistor::operator==(const Resistor& r) const { return (r.R == R ? true : false) }
Leave a Comment