Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
99<br />
AnsiString result;<br />
VDeque *cursor = head;<br />
while (cursor != this) {<br />
result += AnsiString (cursor–>info) +'\t';<br />
cursor = cursor–>next;<br />
}<br />
ShowMessage (AnsiString (cursor–>info));<br />
}<br />
void MainVDeque () {<br />
VDeque a, b, c, d;<br />
a.Add ("IBM"); a.AddNode ();<br />
b.Add ("Siemens"); b.AddNode ();<br />
c.Add ("Motorola"); c.AddNode ();<br />
d.Add ("Apple"); d.AddNode ();<br />
b.Out ();<br />
}<br />
Конструкторы и деструкторы<br />
Для автоматической инициализации объектов класса используются<br />
конструкторы – бестиповые, одноименные с классом член-функции:<br />
class VMicroPC {<br />
AnsiString type;<br />
int price;<br />
public:<br />
VMicroPC (AnsiString a, int b) { type = a; price = b; } // конструктор<br />
void Out () { ShowMessage ("Компьютер " + type + " стоит $" + price); }<br />
};<br />
void MainVMicroPC() {<br />
AnsiString comp1 = "IBM", comp2 = "Macintosh";<br />
VMicroPC myCPU (comp1, 990), yourCPU (comp2, 1500);<br />
myCPU.Out();<br />
yourCPU.Out();<br />
}<br />
Конструктор вызывается не только при определении нового объекта<br />
класса для объявления данных, но и при копировании объекта или при ди<strong>на</strong>мическом<br />
выделении памяти новому объекту. В качестве аргументов копирующего<br />
конструктора (copying constructor) используются ссылки <strong>на</strong> копируемые<br />
объекты. Примером может служить конструктор типизированного<br />
класса AnsiString: