Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 23:57   #1
friman134
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 2
По умолчанию Абстрактный базовый класс(задача)

Дано задание :Определите абстрактный базовый класс Person,содержащий поля "пол","возраст". Затем определите производный класс Student, описывающий типичного студента (курс, группа, номер в журнале). В заключении выведите из класса student класс GradStudent, описывающий типичного аспиранта (средний балл). Проинициализируйте через конструктор поля классов данными.Объявите экземпляр класса GradStudent.

Имеется наработка:
Код:
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
class Person{
public:
virtual char sub(char a){return(a);}
virtual int voz(int b){return(b);}
virtual int curs(int c){return(c);}
virtual int group(int d){return(d);}
virtual int nom(int e){return(e);}

};
class Student:public Base{};
class GradStudent:public Base{
virtual char sub(char a){return(a);}
};
void main(){
clrscr();
char a;
int b,c,e,d;
cout<<"V-v pol             : ";
cin>>a;
cout<<"V-v vozrost         : ";
cin>>b;
cout<<"V-v curs            : ";
cin>>c;
cout<<"V-v group, nom po g.: ";
cin>>d>>e;
Person *polimorf=new Student;
cout<<"Pol: "<<polimorf->sub(a)<<endl;
cout<<"Vozrost: "<<polimorf->voz(b)<<endl;
cout<<"Curs: "<<polimorf->curs(c)<<endl;
cout<<"Group: "<<polimorf->group(d)<<endl;
cout<<"Nomer :"<<polimorf->nom(e)<<endl;
polimorf=new GradStudent;
getch();
}
Необходимо добавить конструктор и вывести из класса student класс GradStudent.
Заранее спасибо

Последний раз редактировалось friman134; 17.12.2011 в 00:03.
friman134 вне форума Ответить с цитированием
Старый 17.12.2011, 00:31   #2
sandye51
 
Регистрация: 16.12.2011
Сообщений: 3
По умолчанию

у вас нет абстрактного базового класса
и какие-то бредовые виртуальные функции объявлены

Последний раз редактировалось sandye51; 17.12.2011 в 00:34.
sandye51 вне форума Ответить с цитированием
Старый 17.12.2011, 21:51   #3
friman134
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 2
По умолчанию

Смысл задачи в том, чтобы ввести данные о студенте и тут же их вывести. Необходимо лишь добавить конструкцию описанную в условии.

Была допущена ошибка из-за корректировки мною исходного кода :
Код:
class Student:public Base{};
class GradStudent:public Base{
следует заменить на:
Код:
class Student:public Person{};
class GradStudent:public Person{

Последний раз редактировалось friman134; 18.12.2011 в 03:05.
friman134 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатель на абстрактный класс zhenya.ya Общие вопросы C/C++ 0 11.11.2010 23:51
абстрактный класс С++ zhenya.ya Помощь студентам 0 05.11.2010 20:23
результат базовый класс и наследование Пепел Феникса Общие вопросы C/C++ 1 21.09.2010 02:29
Создать базовый класс sT1mfy Общие вопросы Delphi 3 11.06.2010 21:38
Вернут указатель на базовый класс Crucian Общие вопросы C/C++ 2 08.11.2007 18:10