13.01.2015 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

120<br />

+ "\nкурса " + AnsiString (course) + " группы " + AnsiString (group);<br />

}<br />

};<br />

class VPensioner: public VMan {<br />

public:<br />

VPensioner (__int64 x) {<br />

if (x > 195000L && x < 200000L) course = x;<br />

else course = 0;<br />

}<br />

AnsiString Out (AnsiString name) {<br />

return "\nПенсионер " + AnsiString(name) + " из Петербурга";<br />

}<br />

};<br />

class VPassenger: VStudent, VPensioner {<br />

public:<br />

AnsiString result;<br />

VPassenger (AnsiString name, __int64 data):<br />

VStudent (data), VPensioner (data) {<br />

If (!(VStudent::course) && !(VPensioner::course))<br />

ShowMessage (" Пассажир не имеет права <strong>на</strong> льготы.");<br />

else {<br />

if (VStudent::course) result = VStudent::Out (name);<br />

if (VPensioner::course) result = VPensioner::Out (name);<br />

ShowMessage (result + "\nимеет право <strong>на</strong> льготы.");<br />

}<br />

}<br />

};<br />

void MainVirtual4 () {<br />

VPassenger w ("Сидоров", 8431);<br />

VPassenger x ("Козлов", 197376L);<br />

VPassenger y ("Тихонов", 1234);<br />

VPassenger z ("Степанов", 1);<br />

}<br />

Контрольные вопросы<br />

1. Что такое объявление и определение класса<br />

2. Каково <strong>на</strong>з<strong>на</strong>чение конструкторов и деструкторов класса<br />

3. Что <strong>на</strong>зывается конструктором по умолчанию<br />

4. Что <strong>на</strong>зывается копирующим конструктором<br />

5. Как происходит передача объектов класса в функции<br />

6. Что такое дружественные функции и классы

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

Saved successfully!

Ooh no, something went wrong!