ВУЗ:
Составители:
Рубрика:
public:
int getCount(){return count;};
TBase(int s,int m,int d);
TBase();
TBase(TBase&);
~TBase();
virtual void print()=0; // ɑɢɫɬɚɹ ɜɢɪɬɭɚɥɶɧɚɹ ɮɭɧɤɰɢɹ
};
Ɍɨɝɞɚ ɜ ɩɪɨɢɡɜɨɞɧɵɯ ɤɥɚɫɫɚɯ ɞɨɥɠɧɚ ɛɵɬɶ ɨɛɴɹɜɥɟɧɚ ɡɚɦɟɳɚɸɳɚɹ ɟɟ
ɮɭɧɤɰɢɹ
print, ɜɵɩɨɥɧɹɸɳɚɹ ɪɟɚɥɶɧɵɟ ɞɟɣɫɬɜɢɹ:
class TIntArray:public TBase
{
/* Ⱦɪɭɝɢɟ ɦɟɬɨɞɵ */
virtual void print();
}
class TRealArray:public TBase
{
/* Ⱦɪɭɝɢɟ ɦɟɬɨɞɵ */
virtual void print();
}
ȼ ɩɪɨɝɪɚɦɦɟ, ɢɫɩɨɥɶɡɭɸɳɟɣ ɨɛɴɟɤɬɵ ɤɥɚɫɫɨɜ TIntArray ɢ
TRealArray, ɦɨɝɭɬ ɫɨɡɞɚɜɚɬɶɫɹ ɷɤɡɟɦɩɥɹɪɵ ɷɬɢɯ ɤɥɚɫɫɨɜ ɫ ɜɨɡɦɨɠɧɨɫɬɶɸ
ɨɛɪɚɳɟɧɢɹ ɤ ɧɢɦ ɱɟɪɟɡ ɭɤɚɡɚɬɟɥɶ ɧɚ ɛɚɡɨɜɵɣ ɤɥɚɫɫ:
TBase *pb;
TIntArray aint(5,3);
TRealArray areal(4,2);
Ɍɨɝɞɚ ɞɥɹ ɩɟɱɚɬɢ ɦɚɫɫɢɜɨɜ ɦɨɝɭɬ ɩɪɢɦɟɧɹɬɶɫɹ ɨɩɟɪɚɬɨɪɵ
pb=&aint; pb->print(); //ɉɟɱɚɬɶ ɦɚɫɫɢɜɚ aint
pb=&areal; pb->print(); // ɉɟɱɚɬɶ ɦɚɫɫɢɜɚ areal
ɉɪɢɜɟɞɟɦ ɟɳɟ ɨɞɢɧ ɩɪɢɦɟɪ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɜɢɪɬɭɚɥɶɧɵɯ ɮɭɧɤɰɢɣ.
ɉɭɫɬɶ ɧɟɤɨɬɨɪɵɣ ɥɸɛɢɬɟɥɶ ɞɨɦɚɲɧɢɯ ɠɢɜɨɬɧɵɯ ɪɟɲɢɥ ɡɚɜɟɫɬɢ ɤɚɬɚɥɨɝ
ɫɜɨɢɯ ɥɸɛɢɦɰɟɜ ɢ ɞɥɹ ɤɚɠɞɨɝɨ ɜɢɞɚ ɠɢɜɨɬɧɵɯ ɨɩɪɟɞɟɥɢɥ ɫɜɨɣ ɤɥɚɫɫ ɫ ɨɛ-
ɳɢɦ ɛɚɡɨɜɵɦ ɤɥɚɫɫɨɦ
Pet. Ⱦɥɹ ɤɪɚɬɤɨɫɬɢ ɨɝɪɚɧɢɱɢɦɫɹ ɜ ɨɩɢɫɚɧɢɢ ɤɚɠɞɨ-
ɝɨ ɠɢɜɨɬɧɨɝɨ ɟɝɨ ɤɥɢɱɤɨɣ ɢ ɬɢɩɨɜɵɦ ɢɡɞɚɜɚɟɦɵɦ ɠɢɜɨɬɧɵɦ ɡɜɭɤɨɦ ɫ ɜɨɡ-
ɦɨɠɧɨɫɬɶɸ ɜɵɜɨɞɚ ɧɚ ɷɤɪɚɧ ɫɩɢɫɤɚ ɤɥɢɱɟɤ ɢ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɢɡɞɚɜɚɟɦɵɯ
ɢɦɢ ɡɜɭɤɨɜ.
ɉɪɨɝɪɚɦɦɚ:
#include <iostream.h>
struct Pet // Ȼɚɡɨɜɵɣ ɤɥɚɫɫ
{
char *name;
virtual void speak()=0;
Pet( char *nm){name=nm;}
}
struct Dog:public Pet
{
virtual void speak()
{cout<<name<<“ ɝɨɜɨɪɢɬ “”<<“ Ⱥɜ-ɚɜ”<<endl;};
51
public: int getCount(){return count;}; TBase(int s,int m,int d); TBase(); TBase(TBase&); ~TBase(); virtual void print()=0; // ɑɢɫɬɚɹ ɜɢɪɬɭɚɥɶɧɚɹ ɮɭɧɤɰɢɹ }; Ɍɨɝɞɚ ɜ ɩɪɨɢɡɜɨɞɧɵɯ ɤɥɚɫɫɚɯ ɞɨɥɠɧɚ ɛɵɬɶ ɨɛɴɹɜɥɟɧɚ ɡɚɦɟɳɚɸɳɚɹ ɟɟ ɮɭɧɤɰɢɹ print, ɜɵɩɨɥɧɹɸɳɚɹ ɪɟɚɥɶɧɵɟ ɞɟɣɫɬɜɢɹ: class TIntArray:public TBase { /* Ⱦɪɭɝɢɟ ɦɟɬɨɞɵ */ virtual void print(); } class TRealArray:public TBase { /* Ⱦɪɭɝɢɟ ɦɟɬɨɞɵ */ virtual void print(); } ȼ ɩɪɨɝɪɚɦɦɟ, ɢɫɩɨɥɶɡɭɸɳɟɣ ɨɛɴɟɤɬɵ ɤɥɚɫɫɨɜ TIntArray ɢ TRealArray, ɦɨɝɭɬ ɫɨɡɞɚɜɚɬɶɫɹ ɷɤɡɟɦɩɥɹɪɵ ɷɬɢɯ ɤɥɚɫɫɨɜ ɫ ɜɨɡɦɨɠɧɨɫɬɶɸ ɨɛɪɚɳɟɧɢɹ ɤ ɧɢɦ ɱɟɪɟɡ ɭɤɚɡɚɬɟɥɶ ɧɚ ɛɚɡɨɜɵɣ ɤɥɚɫɫ: TBase *pb; TIntArray aint(5,3); TRealArray areal(4,2); Ɍɨɝɞɚ ɞɥɹ ɩɟɱɚɬɢ ɦɚɫɫɢɜɨɜ ɦɨɝɭɬ ɩɪɢɦɟɧɹɬɶɫɹ ɨɩɟɪɚɬɨɪɵ pb=&aint; pb->print(); //ɉɟɱɚɬɶ ɦɚɫɫɢɜɚ aint pb=&areal; pb->print(); // ɉɟɱɚɬɶ ɦɚɫɫɢɜɚ areal ɉɪɢɜɟɞɟɦ ɟɳɟ ɨɞɢɧ ɩɪɢɦɟɪ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɜɢɪɬɭɚɥɶɧɵɯ ɮɭɧɤɰɢɣ. ɉɭɫɬɶ ɧɟɤɨɬɨɪɵɣ ɥɸɛɢɬɟɥɶ ɞɨɦɚɲɧɢɯ ɠɢɜɨɬɧɵɯ ɪɟɲɢɥ ɡɚɜɟɫɬɢ ɤɚɬɚɥɨɝ ɫɜɨɢɯ ɥɸɛɢɦɰɟɜ ɢ ɞɥɹ ɤɚɠɞɨɝɨ ɜɢɞɚ ɠɢɜɨɬɧɵɯ ɨɩɪɟɞɟɥɢɥ ɫɜɨɣ ɤɥɚɫɫ ɫ ɨɛ- ɳɢɦ ɛɚɡɨɜɵɦ ɤɥɚɫɫɨɦ Pet. Ⱦɥɹ ɤɪɚɬɤɨɫɬɢ ɨɝɪɚɧɢɱɢɦɫɹ ɜ ɨɩɢɫɚɧɢɢ ɤɚɠɞɨ- ɝɨ ɠɢɜɨɬɧɨɝɨ ɟɝɨ ɤɥɢɱɤɨɣ ɢ ɬɢɩɨɜɵɦ ɢɡɞɚɜɚɟɦɵɦ ɠɢɜɨɬɧɵɦ ɡɜɭɤɨɦ ɫ ɜɨɡ- ɦɨɠɧɨɫɬɶɸ ɜɵɜɨɞɚ ɧɚ ɷɤɪɚɧ ɫɩɢɫɤɚ ɤɥɢɱɟɤ ɢ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɢɡɞɚɜɚɟɦɵɯ ɢɦɢ ɡɜɭɤɨɜ. ɉɪɨɝɪɚɦɦɚ: #includestruct Pet // Ȼɚɡɨɜɵɣ ɤɥɚɫɫ { char *name; virtual void speak()=0; Pet( char *nm){name=nm;} } struct Dog:public Pet { virtual void speak() {cout<
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »