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

Не компилируется код с friend - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заголовочный файл conio.h http://www.cyberforum.ru/cpp-beginners/thread534713.html
Я новичок в С++, так что у меня небольшой вопрос. Насколько я понимаю conio.h - заголовочный файл для работы с консолью и он поддерживает функцию _getch(), которая извлекает символ из потока ввода....
C++ Переделать меню через switch / case Написал такой код. Условие для задачи такое: Необходимо написать программу со следующей функциональностью: 1. Функция преобразования 8-разрядного целого числа со знаком в его внутреннее... http://www.cyberforum.ru/cpp-beginners/thread534705.html
Когда писать explicit C++
Зачем нужен explicit разобрался. Но, возник вопрос: зачем его писать? когда Вы его пишете? вроде я как-то обходился без него
Помогите нужно вывести только определеные значения в массиве C++
Спасибо уже только за то что проявили интерес и посмотрели тему ^^ (Пишу программу для решения матиматической модели . С толкнулся с тем что не знаю как вывести те переменные которые я добовляю к...
C++ Перевести число unsigned int в 2-х байтное представление http://www.cyberforum.ru/cpp-beginners/thread534676.html
Дается число от 0 до 1023 (это 2 в степени 10, т.е. 10 бит) Нужно получить двухбайтовую строку, в которой первый символ отвечает за первые 5 бит, второй за вторые 5 бит. Использовать можно только...
C++ Количество слов в строке, которые начинаются на заданную букву Напишите программу, которая подсчитывает количество слов в строке, которые начинаются на заданную букву. Сделать нужно на обычном Си подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.03.2012, 20:54
Цитата Сообщение от antoha398 Посмотреть сообщение
Если верить книге Липпмана "Язык программирования С++. Вводный курс". Функция-член другого класса тоже может быть дружественной!
хм...и вправду, но это изврат, а не фича
#1
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
#include <iostream>
 
class Class;
 
class Node {
public:
   void Change(Class&, int);
};
 
class Class {
   int n;
   friend void Node::Change(Class&, int);
public:
   int get() const { return n; }
};
 
void Node::Change(Class& res, int n1)
{
   res.n = n1;
}
 
int main()
{
   Class s;
   Node node;
   node.Change(s, 100500);
   std::cout << s.get();
   return 0;
}
#2
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
#include <iostream>
 
class Class;
 
class Node {
   Class& ref;
public:
   Node(Class& r) : ref(r) {}
   void Change(int n);
};
 
class Class {
   int n;
   friend void Node::Change(int n);
public:
   int get() const { return n; }
};
 
void Node::Change(int n1)
{
   ref.n = n1;
}
 
int main()
{
   Class s;
   Node node(s);
   node.Change(100500);
   std::cout << s.get();
   return 0;
}
5
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru