GVA SUPPORT

Відповідь на запитання № 1308385109
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;
}


====================================	
Ваша відповідь