Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
mINdVADE
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 2
1

Ошибка при использовании дружественной функции

09.08.2016, 16:32. Просмотров 198. Ответов 3
Метки c++ (Все метки)

Доброго времени суток!
Не могу понять, в строках 17 и 20 пишет, что член hate, объявленный в строке 8 недоступен
Подскажите, в чем проблема

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
#include <iostream>
 
using namespace std;
 
class People;
 
class Me{
    int hate;
 
    friend void People::say(Me&);
    friend void People::show_hate(Me&);
};
 
class People{
public:
    void say(Me& me){
        me.hate = 100;
    }
    void show_hate(Me& me){
        cout << me.hate << endl;
    }
};
 
 
int main(){
    People p;
    Me m; Me& mr = m;
    p.say(mr);
    p.show_hate(mr);
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2016, 16:32
Ответы с готовыми решениями:

Ошибка дружественной функции
Класс TStud: class TStud { private: char Shifr_Fac, Name_Fac,...

Ошибка при использовании функции-члена
Доброго времени суток! При использовании функции-члена print() с объектом...

Ошибка при использовании vector в заголовке функции
/home/motoroller/qtProjects/laba1/main.cpp:8: ошибка: 'std::vector' is not a...

Ошибка времени выполнения при использовании функции scanf_s
Есть код создания библиотеки книг, это его часть. Если потребуется могу скинуть...

возникает ошибка при использовании массива, как параметр функции
Добрый вечер. Помогите разобраться, пожалуйста. Задача: Проверьте, верно ли,...

3
notAll
455 / 174 / 64
Регистрация: 27.05.2016
Сообщений: 461
Завершенные тесты: 2
09.08.2016, 16:41 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Me;
 
class People{
public:
    void say(Me&);
    void show_hate(Me&);
};
 
class Me{
    int hate;
 
    friend void People::say(Me&);
    friend void People::show_hate(Me&);
};
 
void People::say(Me& me){
    me.hate = 100;
}
void People::show_hate(Me& me){
    cout << me.hate << endl;
}
1
mINdVADE
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 2
09.08.2016, 16:57  [ТС] 3
notAll, работает, спасибо!
Можно вопрос? Почему оно работает, но все так же подчеркивает переменную hate и пишет, что недоступна?
0
notAll
455 / 174 / 64
Регистрация: 27.05.2016
Сообщений: 461
Завершенные тесты: 2
09.08.2016, 17:02 4
Не знаю, у меня не подчеркивает. От IDE зависит.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2016, 17:02

Перегрузка метода и дружественной функции
class A { private: void foo() { A a; a.bar(); bar( a ); //...

Реализация дружественной (friend) функции
Всем доброго времени суток. Хотел бы попросить помощи, ибо запутался. Задачи...

Идентификатор не определён в дружественной функции
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class...


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

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

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