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

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

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

protected и его назначение - C++

14.06.2010, 18:27. Просмотров 503. Ответов 4
Метки нет (Все метки)

Не понятно назначение ключевого слова протектед, хотя пишут что он нужен для класса-потомка, только зачем? Вот код, растолкуйте на нём ,что даёт протектед, заранее благодарю.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
class Aria{
public: int a;
protected:  int p;
public: 
    void z(){cout<<"1";}
};
 
class B:public Aria{
public:
    void z(){cout<<"2";}
};
 
class T{
};
 
int main()
{
    T *oop = new T;
    cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2010, 18:27     protected и его назначение
Посмотрите здесь:

PROTECTED C++
C++ Ключ доступа protected
protected или не protected : ) C++
C++ Доступ к protected полям
Доступ внука к Protected C++
C++ Подробно разобрать приведенный код и его назначение в целом
c++ доступ к protected свойствам C++
Protected DVD C++
C++ Обращение к члену protected
Protected Struct C++
C++ Explicit и его назначение
Protected в классах C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.06.2010, 18:39     protected и его назначение #2
protected:
нужен для наследование скрытой секции класса.
dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
14.06.2010, 18:44     protected и его назначение #3
Ты лучше поступи так:
1. Переменную "p" сделай private.
2. Напиши в классе В функцию, которая модифицирует "р".
3. При компиляции должно выбить ошибку, т.к. потомки не имеют права модифицировать закрытые(приват) данные класса-родителя.

Если "р" протектед, то модификация "р" из класса-потомка пройдёт нормально.
PointsEqual
ниначмуроФ
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.06.2010, 18:47     protected и его назначение #4
спецификатор protected повышает гибкость наследования.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class base{
protected:
int i,j;
....
}
 
class A: public base{
// i и j  наследуются как защищенные
...
}
 
 
class C: public A{
// i и j  наследуются как защищенные
....
}

а если бы наследование было бы закрытым то в классе С i и j были бы недоступны
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.06.2010, 19:22     protected и его назначение #5
спецификатор protected повышает гибкость наследования.

Добавлю: еще как повышает, особенно, если заместо переменных там описаны
какие нибудь серьезные объекты(с хорошим функционалом).
Yandex
Объявления
14.06.2010, 19:22     protected и его назначение
Ответ Создать тему
Опции темы

Текущее время: 21:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru