Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Novicheki
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 22
#1

наследование классов - C++

24.11.2012, 23:20. Просмотров 500. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста разобраться с задачей
Создайте базу данных деканата. В ней фиксируются данные о 2 категориях студентах: студенты получающие академическую стипендию, студенты получающие социальную стипендию. Базовый класс содержит имя и номер зачетной книжки. В информации о студентах получающих академическую стипендию содержится информация о среднем балле на который студент сдал сессию. В информации о студентах получающих социальную стипендию содержится информация о социальной категории студента. Программа должна вводить данные и выводить их на экран.
Здесь соответственно 3 класса, базовый и 2 наследуемых, но я не понимаю каким образом организовать вывод данных с разных классов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 23:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос наследование классов (C++):

Заменить наследование классов на наследование интерфейсов - C++
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование классов. Копирование производных классов - C++
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" class A //Создаем класс А { int mA; ...

Наследование классов - C++
Задание: Создать класс базовый класс «квадрат». Элементы класса (поля имеют статус доступа protected): поле, задающее длину...

Наследование классов - C++
Собирал программу по частям, подскажите как исправить ошибки. #include <iostream> #include <conio.h> class Vehicle //...

Наследование классов - C++
Здравствуйте! Вот написан мой код ниже. Я когда пытаюсь ввести "What give animal:" идёт прекращение работы. Не понимаю почему. Помогите...

наследование классов - C++
Здарова, народ! :D Вот сижу и пытаюсь сделать задание из книги по которой "учимся программировать в универе", а там такой поворот...

5
igorrr37
1668 / 1296 / 145
Регистрация: 21.12.2010
Сообщений: 1,977
Записей в блоге: 9
24.11.2012, 23:47 #2
Цитата Сообщение от Novicheki Посмотреть сообщение
каким образом организовать вывод данных с разных классов
сделать ф-цию virtual std::ostream& Print(std::ostream&), переопределить её в производных классах, ну и перегрузить friend operator<< который будет вызывать эту ф-цию
0
Novicheki
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 22
24.11.2012, 23:54  [ТС] #3
вообщем, создать виртуальную функцию и переопределить в каждом классе..
однако, все же не до конца понимаю сути. в пример ничего не можете привести?
спасибо!
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
25.11.2012, 00:00 #4
http://ru.wikipedia.org/wiki/Виртуальный_метод
1
Novicheki
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 22
25.11.2012, 11:14  [ТС] #5
Кликните здесь для просмотра всего текста
#include "stdafx.h"
#include "iostream"
using namespace std;
class student
{public:
char imya[10]; char nomer_zachetki[8];
virtual void fun() { cout << "Имя" <<imya<<"Номер зачетки"<<nomer_zachetki<< endl; }
};
class sochialublic student
{public:
char sochial_kategoria[20];
virtual void fun() { cout << "Социальная категория" <<sochial_kategoria<< endl; }
};
class akademublic student
{public:
double sred_ball;
virtual void fun() { cout << "Средний балл" <<sred_ball<< endl; }

};
void main()
{
cout<<"Введите Имя"<<endl;
cin>>imya;
cout<<"Введите Номер зачетки"<<endl;
cin>>nomer_zachetki;

}

набросал вот, только c friend функциями проблема, помогите плиз
0
igorrr37
1668 / 1296 / 145
Регистрация: 21.12.2010
Сообщений: 1,977
Записей в блоге: 9
25.11.2012, 12:21 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <cstring>
#include <windows.h>
using namespace std;
 
class Student
{
public:
    Student(char const* const name, size_t const number)
    {
        strcpy(name_, name);
        number_ = number;
    }
    friend std::ostream& operator<<(std::ostream& ost, Student const& student)
    {
        return student.fun(ost);
    }
protected:
    virtual std::ostream& fun(std::ostream& ost) const
    {
        return ost << "Имя: " << name_ <<"\nНомер зачетки: "<< number_;
    }
    char name_[10];
    size_t number_;
};
 
class Social : public Student
{
public:
    Social(char const* const name, size_t const number, char const* const category)
        : Student(name, number)
    {
        strcpy(category_, category);
    }
private:
    virtual std::ostream& fun(std::ostream& ost) const
    {
        return Student::fun(ost) << "\nСоциальная категория: " << category_;
    }
    char category_[20];
};
 
class Academ : public Student
{
public:
    Academ(char const*const name, size_t const number, double const average_mark)
        : Student(name, number)
    {
        average_mark_ = average_mark;
    }
private:
    virtual std::ostream& fun(std::ostream& ost) const
    {
        return Student::fun(ost) << "\nСредний балл: " << average_mark_;
    }
    double average_mark_;
};
 
int main()
{
    SetConsoleOutputCP(1251);
    Social socStud("name5", 112897456, "category12");
    std::cout << socStud << std::endl;
}
0
25.11.2012, 12:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 12:21
Привет! Вот еще темы с ответами:

наследование классов - C++
Народ, всем приветик! Уже 3 день сижу над етой темой, не получается задание, вчера выбрасывал на форум исходник, но в конце концов сделал...

Наследование классов - C++
Пусть автомобиль характеризуется установленным двигателем, трансмиссией и количеством мест для пассажиров. Двигатель определяется...

Наследование классов - C++
Здравствуйте, начал изучать наследование классов и не могу понять как ведут себя конструкторы с параметром. Вот код, но он печатает на...

Наследование классов - C++
Помогите, пожалуйста, разобраться - необходимо написать класс Administrator, кот наследуется (is derived) из класса SalariedEmployee: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.