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

Обращение к члену protected - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить количество строк, не содержащих ни одного нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread1186442.html
Помогите написать программу,предмет просто не профильный Написать программу в соответствии с вариантом, выделив под массив динамически память. Обращаться к элементам массива необходимо используя...
C++ Методом Монте-Карло определить площадь заштрихованой фигуры Нарисовать линиями в Chart for (int i=0; i<=100; i++) { x=i; y=sqrt(10000-x*x); plot1->Points->AddXY(x, y); ... http://www.cyberforum.ru/cpp-beginners/thread1186421.html
C++ Динамическое выделением памяти для массивов
Даны три массива вещественных чисел X(25), B(30), Y(25). Из исходных массивов сформировать массив К, элементы которого равны количеству положительных элементов в исходных массивах. Найти меньшее...
C++ Сравнение элементов стеков
Даны два стека. Задача состоит в том, чтобы создать третий стек из элементов первого, которых нет во втором. Не могу найти ошибку, программа просто копирует первый стек. List* combination(List...
C++ Указатель на функцию http://www.cyberforum.ru/cpp-beginners/thread1186396.html
#include "stdafx.h" #include <clocale> #include <iostream> #include <conio.h> using std::cout; using std::cin; int comp(const void *a, const void *b) { return *(char*)a - *(char*)b; }
C++ Максимальный поток минимальной стоимости Вечер добрый, нашел программу работает, выдает как я понял максимальный поток и минимальную стоимость. Вопрос в следующем, как там матрица пропускных способностей задается? И если не сложно поясните... подробнее

Показать сообщение отдельно
eXPonent
99 / 52 / 2
Регистрация: 21.05.2012
Сообщений: 1,170

Обращение к члену protected - C++

24.05.2014, 07:45. Просмотров 405. Ответов 8
Метки (Все метки)

Добрый день, помогите разобраться
Обращение к члену protected, сообщается ошибкой
Код класса:
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
struct FIO
{
    string surname;
    string name;
    string patronymic;
};
 
class student
{
    public:
        student()
        {
            cout << "Фамилия: ";
            cin >> initials.surname;
            cout << "Имя: ";
            cin >> initials.name;
            cout << "Отчество: ";
            cin >> initials.patronymic;
            cout << "Возраст: ";
            cin >> age;
            cout << "Курс: ";
            cin >> course;
            cout << "Успеваемость: ";
            cin >> GPA;
        };
        void print(bool _edit = false)
        {
            if(_edit) cout << "1) ";
            cout << "Фамилия: " << initials.surname << endl;
            if(_edit) cout << "2) ";
            cout << "Имя: " << initials.name << endl;
            if(_edit) cout << "3) ";
            cout << "Отчество: " << initials.patronymic << endl;
            if(_edit) cout << "4) ";
            cout << "Возраст: " << age << endl;
            if(_edit) cout << "5) ";
            cout << "Курс: " << course << endl;
            if(_edit) cout << "6) ";
            cout << "Успеваемость: " << GPA << endl;
        };
        void edit()
        {
            print(true);
            cout << "Редактировать поле номер: ";
            int N;
            cin >> N;
            switch (N)
            {
                case 1:
                    cout << "Фамилия: ";
                    cin >> initials.surname;
                break;
                case 2:
                    cout << "Имя: ";
                    cin >> initials.name;
                break;
                case 3:
                    cout << "Отчество: ";
                    cin >> initials.patronymic;
                break;
                case 4:
                    cout << "Возраст: ";
                    cin >> age;
                break;
                case 5:
                    cout << "Курс: ";
                    cin >> course;
                break;
                case 6:
                    cout << "Успеваемость: ";
                    cin >> GPA;
                break;
                default:
                    cout << "Ошибка редактирования!";
            };      
        };
 
    protected:
        double GPA;
 
    private:
        FIO initials;
        int age;
        int course;
};
 
class group_student: public student
{
    public:
        void push_back(student _stud)
        {
            stud.push_back(_stud);
        };
        void print()
        {
            for(int i = 0; i != stud.size(); i++)
            {
                number_student(i);
                stud[i].print();
            };                       
        };
        void edit(int i)
        {
            number_student(i-1);
            stud[i-1].edit();                   
        };
        void sort()
        {
            for(int i = 0; i != stud.size(); ++i) // i - номер текущего шага
            {
                int pos = i; 
                student _stud = stud[i];
                for(int j = i + 1; j != stud.size(); ++j) // цикл выбора max элемента
                    if (stud[j].GPA < _stud.GPA) 
                    {
                        pos = j; 
                        _stud = stud[j]; 
                    };
                stud[pos] = stud[i]; 
                stud[i] = _stud;
            };
        };
 
    private:
        vector<student> stud;
        inline void number_student(int i)
        {
            cout << "Студент №" << i << endl;
        };
};
 
void main()
{
    setlocale(LC_ALL,"Russian");
 
// Тест
    group_student A;
    for(int i = 0; i != 5; i++)
    {
        student stud;
        A.push_back(stud);
    };
    A.sort();
    A.print();
 
    system("pause");
};
Ошибки:
Кликните здесь для просмотра всего текста
ClCompile:
Lab№3.cpp
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(119): error C2248: student::GPA: невозможно обратиться к protected член, объявленному в классе "student"
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(84): см. объявление "student::GPA"
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(14): см. объявление "student"
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(119): error C2248: student::GPA: невозможно обратиться к protected член, объявленному в классе "student"
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(84): см. объявление "student::GPA"
c:\documents and settings\artyr\рабочий стол\task№5\lab№3\lab№3.cpp(14): см. объявление "student"

СБОЙ построения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru