ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
