Павлуха, Вообще-то какой -то странный класс book2. Зачем его делать производным от book, если ты нигде не используешь данных, определенных в базовом классе? И ни в конструкторе, ни в методе set ты не присваиваешь этим полям значение?
Лучше сделать так. В производном методе set вызывается базовый метод set для установки полей базового класса (так хоть смысл есть)
| Код | //***************************************************************************** #include <iostream> #include <conio.h> #include <string.h> using std::cout; //***************************************************************************** class book { char avtor[20]; char name[20]; public: book() { avtor[0] = 0; name[0] = 0; } void set(char* a, char* n) { strcpy(avtor,a); strcpy(name,n); } void print() { cout << avtor << '\n' << name << '\n'; } }; //***************************************************************************** class book2 : public book { int year; char isd[20]; int kol; int kosht; public: book2(): year(0), kol(0), kosht(0) { isd[0] = 0; } void set(char* a, char* n, int y, char* i, int k,int c ) { book::set(a, n); year=y; strcpy(isd,i); kol=k; kosht=c; } void print() { book::print(); cout<<year<<'\n'<<isd<<'\n'<<kol<<'\n'<<kosht; } }; //***************************************************************************** void main() { book ob; cout << "\n\nBook\n"; ob.set("hutin","les"); ob.print(); book2 obb; cout << "\n\nBook2\n"; obb.set("hutin","les", 1992,"PITER",10,15000); obb.print(); getch(); } //*****************************************************************************
|
|