Text: |
ФІО = Горбаченко В.А.
Запитання:/*
Визначити клас !книжка з полями для _назви та _втора,
а також выртуальною функцією №пet() - видати книжку.
Створити похідний клас клас - підручник з додатковим полем !для назви наукової
дисципліни. Замістити віртуальний метод і перевірити його роботу
(20 балів).
*/
#include <iostream>
#include <cstdlib>
//#include <conio.h>
#define N 200
using namespace std;
//===========================================================================
class TBook{ // клас книжка
public:
char nazva[N]; // назва книжки
char autor[N]; // автор книжки
//---------------------------------------------------------------------------
virtual void TBook::set(){ // віртуальний метод, який зчитує дані про книгу,
// які введе користувач з клавіатури
cout<<" 1i -> Nazva knugu : ";
cin.getline(&nazva[0],N);
fflush(stdin);
cout<<" 1i -> Avtor knugu : ";
cin.getline(&autor[0],N);
fflush(stdin);
}
//---------------------------------------------------------------------------
virtual void TBook::get(){// вивід інформації про книжку
cout<<"\n\n 1o -> Nazva knugu : "<<nazva;
cout<<"\n 1o -> Avtor knugu : "<<autor<<endl<<endl;
}
//---------------------------------------------------------------------------
};
//===========================================================================
class Tpidruchnuk: public TBook{ // похідний клас підручник від книжки
public:
char nd[N]; // додаткове поле
//---------------------------------------------------------------------------
// перевизначаємо необхідні для виконнання завдання методи
virtual void set(){ // введення
cout<<" 2i -> Nazva knugu : ";
cin.getline(&nazva[0],N);
fflush(stdin);
cout<<" 2i -> Avtor knugu : ";
cin.getline(&autor[0],N);
fflush(stdin);
cout<<" 2i -> Naukova dus : ";
cin.getline(&nd[0],N);
fflush(stdin);
}
//---------------------------------------------------------------------------
virtual void get(){// виведення
cout<<"\n\n 2o -> Nazva knugu : "<<nazva;
cout<<"\n 2o -> Avtor knugu : "<<autor<<endl;
cout<<" 2o -> Naukova dus : "<<nd<<endl<<endl;
}
//---------------------------------------------------------------------------
};
//===========================================================================
void f (TBook &b){
b.set(); // введення
b.get(); // виведенн
}
int main(){
TBook b1; // оголошуємо змінну б1 класу Ткнига
f(b1);
Tpidruchnuk p1; // оголошуємо змінну п1 класу Тпідручник (похідний від Ткниги)
f(p1);
system("PAUSE");
return 0;
}
====================================
|