ВУЗ:
Составители:
Рубрика:
class SymbolLocation:/*-символ и его позиция: */
public Location
{ char Symbol;/*-поле для записи символа; */
public: /*-открытая часть производного класса; */
SymbolLocation(int X,int Y,char Sym):
Location(X,Y) { Symbol=Sym;}
~SymbolLocation() { } /*-пустой деструктор; */
virtual void Print() /*-реализация функции; */
const { cout<<"\n"<<Symbol; }
};/*-конец определения 1-го производного класса; */
class StringLocation:/*-строка и ее начальная позиция: */
public Location
{ char* String;/*-указатель поля для строки; */
public: /*-открытая часть класса: */
StringLocation(int X,int Y,char* Str):
Location(X,Y) { String=Str; }/*-конструктор;*/
~StringLocation() { } /*-пустой деструктор; */
virtual void Print() /*другая реализация функции; */
const { cout<<"\n"<<String; }
};/*-конец определения 2-го производного класса; */
void Print(Location* ObjPtr) /*-вывод полиморфного объ- */
/* екта(символа или строки): */
{ ObjPtr->Print(); }
void main(void) /*-главная программа,использующая раз- */
/* личные объекты типов,производных от */
/* базового типа Location: */
{ SymbolLocation SymLoc(1,1,'A');
StringLocation StrLoc(1,1,"ABC");
SymbolLocation* SymLocPtr=&SymLoc;
StringLocation* StrLocPtr=&StrLoc;
Print(SymLocPtr);/*-выдача символа на экран; */
Print(StrLocPtr);/*-выдача строки на экран; */
} /*-конец программы выдачи полиморфного объекта; */
39
class SymbolLocation:/*-символ и его позиция: */ public Location { char Symbol;/*-поле для записи символа; */ public: /*-открытая часть производного класса; */ SymbolLocation(int X,int Y,char Sym): Location(X,Y) { Symbol=Sym;} ~SymbolLocation() { } /*-пустой деструктор; */ virtual void Print() /*-реализация функции; */ const { cout<<"\n"<Print(); } void main(void) /*-главная программа,использующая раз- */ /* личные объекты типов,производных от */ /* базового типа Location: */ { SymbolLocation SymLoc(1,1,'A'); StringLocation StrLoc(1,1,"ABC"); SymbolLocation* SymLocPtr=&SymLoc; StringLocation* StrLocPtr=&StrLoc; Print(SymLocPtr);/*-выдача символа на экран; */ Print(StrLocPtr);/*-выдача строки на экран; */ } /*-конец программы выдачи полиморфного объекта; */ 39
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »