Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive Объектно-ориентированное программирование на С++ - eDrive
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); } Пример множественного наследования:
- Page 63 and 64: int i, d[] = { 5, 2, 3, 8, 3, 1, 3
- Page 65 and 66: 22. Каков принцип де
- Page 67 and 68: StringGrid1->Cells[0][j] = myS[j].a
- Page 69 and 70: void Files2 () { AnsiString from =
- Page 71 and 72: void _ _fastcall TForm1::DelFromFil
- Page 73 and 74: 73 Фрагмент обработ
- Page 75 and 76: 75 отказ в доступе, EM
- Page 77 and 78: 77 //myApplication.cpp #include "my
- Page 79 and 80: 79 Для подключения н
- Page 81 and 82: 81 Управление созда
- Page 83 and 84: 83 Контрольные вопр
- Page 85 and 86: 85 для построения ма
- Page 87 and 88: 87 В C++Builder все подкл
- Page 89 and 90: 89 ODBC в папке Панель
- Page 91 and 92: void _ _fastcall TDBForm1::ConnectC
- Page 93 and 94: 93 Для подключения з
- Page 95 and 96: 95 Контрольные вопр
- Page 97 and 98: class VPC { private: int type; Ansi
- Page 99 and 100: 99 AnsiString result; VDeque *curso
- Page 101 and 102: } 101 VList a (3); // констр
- Page 103 and 104: }; VStackAndQueue (AnsiString str);
- Page 105 and 106: }; 105 public: VSecond (AnsiString
- Page 107 and 108: } ShowMessage ("Старое вре
- Page 109 and 110: } 109 AnsiString temp; for (i=0; i
- Page 111 and 112: 111 }; int VPrice::operator > (cons
- Page 113: 113 void MainVVector () { VVector
- Page 117 and 118: 117 Виртуальные функ
- Page 119 and 120: 119 virtual Тип имяФункц
- Page 121 and 122: 121 7. В чем заключает
- Page 123 and 124: 123 • руководство си
- Page 125 and 126: 125 Предметный указа
- Page 127: 5 Валерий Михайлови
115<br />
void MainVEqu() {<br />
// x + 4y = 9; –x + 6y = 1<br />
float member[] = { 1, 4, 9, –1, 6, 1 }; VEquX x (member); VEquY y (member);<br />
ShowMessage ("x = " + AnsiString (x.rx / x.re) + '\n' // x = 5<br />
+ "y = " + AnsiString (y.ry / y.re)); // y = 1<br />
}<br />
Здесь списки инициализации конструкторов пpоизводных классов<br />
VEquX, VEquY содержат запись VDet (r). Они инициализируют в базовом<br />
классе VDet те части классов EquX, EquY, которые при<strong>на</strong>длежат Det.<br />
Еще один пример <strong>на</strong>следования:<br />
class VStudent {<br />
protected:<br />
int course, group;<br />
public:<br />
int fac;<br />
AnsiString result;<br />
VStudent (AnsiString name, int y) {<br />
course = 10 – y / 1000; group = y; fac = group / 100 % 10;<br />
result = "\nСтудент " + name + " с факультета " + fac;<br />
}<br />
};<br />
class VBachalour: public VStudent {<br />
public:<br />
int spe;<br />
VBachalour (AnsiString n, int a, int b): VStudent (n,a) {<br />
spe = b;<br />
result += "\n" + AnsiString (course) + " курса " + AnsiString (group) +<br />
" группы – бакалавр по специальности " + AnsiString(b);<br />
}<br />
};<br />
void MainBac () {<br />
VBachalour first ("Сидоров", 6431, 225);<br />
if (first.spe > 200 && first.fac == 4)<br />
first.result += "\nЭто специалист по автоматике";<br />
else<br />
first.result += "\nЭто специалист по электротехнике";<br />
ShowMessage (first.result);<br />
}<br />
Пример множественного <strong>на</strong>следования: