Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive Объектно-ориентированное программирование на С++ - eDrive

edrive.narod.ru
from edrive.narod.ru More from this publisher
13.01.2015 Views

114 class VFunction { public: float Time (float R, float t) { return R*pow (sin (t), 2); } }; class VRectangle: public VFunction { public: float step; VRectangle (float tk) { step = tk / 100; } }; void MainVIntegral () { float j, tk = 0.8, t, sum; VRectangle myIntegral (tk); for (t=0, sum=0; t

115 void MainVEqu() { // x + 4y = 9; –x + 6y = 1 float member[] = { 1, 4, 9, –1, 6, 1 }; VEquX x (member); VEquY y (member); ShowMessage ("x = " + AnsiString (x.rx / x.re) + '\n' // x = 5 + "y = " + AnsiString (y.ry / y.re)); // y = 1 } Здесь списки инициализации конструкторов пpоизводных классов VEquX, VEquY содержат запись VDet (r). Они инициализируют в базовом классе VDet те части классов EquX, EquY, которые принадлежат Det. Еще один пример наследования: class VStudent { protected: int course, group; public: int fac; AnsiString result; VStudent (AnsiString name, int y) { course = 10 – y / 1000; group = y; fac = group / 100 % 10; result = "\nСтудент " + name + " с факультета " + fac; } }; class VBachalour: public VStudent { public: int spe; VBachalour (AnsiString n, int a, int b): VStudent (n,a) { spe = b; result += "\n" + AnsiString (course) + " курса " + AnsiString (group) + " группы – бакалавр по специальности " + AnsiString(b); } }; void MainBac () { VBachalour first ("Сидоров", 6431, 225); if (first.spe > 200 && first.fac == 4) first.result += "\nЭто специалист по автоматике"; else first.result += "\nЭто специалист по электротехнике"; ShowMessage (first.result); } Пример множественного наследования:

114<br />

class VFunction {<br />

public:<br />

float Time (float R, float t) { return R*pow (sin (t), 2); }<br />

};<br />

class VRectangle: public VFunction {<br />

public:<br />

float step;<br />

VRectangle (float tk) { step = tk / 100; }<br />

};<br />

void MainVIntegral () {<br />

float j, tk = 0.8, t, sum;<br />

VRectangle myIntegral (tk);<br />

for (t=0, sum=0; t

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!