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

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

Войти
Регистрация
Восстановить пароль
 
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
#1

Объявление дружественного класса в приватной области - C++

27.10.2012, 23:46. Просмотров 599. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class A
{
public:
A(){}
private:
void Alg(){}
friend class B;
};
 
 
class B
{
public:
B()
{
    A a;
    a.Alg();
}
};

И ведь доступ нормально предоставляется. Почему?
Ведь friend должен давать доступ ТОЛЬКО в protected
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 23:46     Объявление дружественного класса в приватной области
Посмотрите здесь:

Метод дружественного класса - C++
Нужно сделать такую ​​задачу, но дойшовшы к этому: выбрать заданное число N абитуриентов, имеющих высокий средний балл (метод...

Поля дружественного класса - C++
есть примерно такой код class ClientAuthorization { public: int count; //считается в конструкторе, не буду писать весь код,...

Использование дружественного класса - C++
Нужно что бы классы стали общее дружеские вложенные классы поидее в книге написано можно добавить всего лишь к примеру friend class Remote;...

Вызов функций дружественного класса - C++
У меня есть 2 класса Tree и Dictionary,которые являются друзьями class Tree; class Dictionary { friend class Tree; class...

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

Доступ дружественного оператора к приватным данным класса - C++
Здравствуйте. тока начал изучение С++; составляю прогу практически по учебнику - реализация класса Стринг при компиляции компилятор...

Почему вызывается перегрузка виртуальной функции из приватной секции дочернего класса? - C++
Как вообще такое происходит class A { public: virtual void foo(){std::cout<<"A\n"; } }; class B:public A { private: ...

Написание дружественного оператора >> для Класса "Wine" с private родителем - C++
Изучаю С++ по Прате. В задание столкнулся с проблемой написания дружественного оператора>> для Класса "Wine" с private родителем ...

Объявление класса Patient - C++
Доброго времени суток! Есть программа, в ней несколько файлов. Есть класс Patient, на который создается указатель в файле...

Объявление класса после инициализации - C++
Подскажите возможно ли объявление класса в такой последовательности, чтобы вместо объявления написать class car;, просто видел в некоторых...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
27.10.2012, 23:51     Объявление дружественного класса в приватной области #2
http://www.cplusplus.com/doc/tutorial/inheritance/
In principle, private and protected members of a class cannot be accessed from outside the same class in which they are declared. However, this rule does not affect friends.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
27.10.2012, 23:51     Объявление дружественного класса в приватной области #3
Цитата Сообщение от Kgfq Посмотреть сообщение
Ведь friend должен давать доступ ТОЛЬКО в protected
Нет. И в private тоже.
Ответ Создать тему
Опции темы

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