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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Заголовочный файл conio.h http://www.cyberforum.ru/cpp-beginners/thread534713.html
Я новичок в С++, так что у меня небольшой вопрос. Насколько я понимаю conio.h - заголовочный файл для работы с консолью и он поддерживает функцию _getch(), которая извлекает символ из потока ввода. Но меня интересует как будет работать программа без заголовочного файла conio.h? Искала ответ на этот вопрос при работе с программой и как мне показалось никаких изменений не произошло, если это не...
C++ Переделать меню через switch / case Написал такой код. Условие для задачи такое: Необходимо написать программу со следующей функциональностью: 1. Функция преобразования 8-разрядного целого числа со знаком в его внутреннее двоичное представление (как оно представлено в ЭВМ). Функция должна возвращать результат в виде строки из 8 символов нулей и единиц. 2. Функции циклического сдвига влево и вправо на заданное число... 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 бит. Использовать можно только латинские буквы в верхнем регистре и цифры от 0 до 5. ANSI таблица символов: A - 65 B - 66 C - 67 D - 68 E - 69 F - 70 G - 71
C++ Количество слов в строке, которые начинаются на заданную букву Напишите программу, которая подсчитывает количество слов в строке, которые начинаются на заданную букву. Сделать нужно на обычном Си подробнее

Показать сообщение отдельно
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
30.03.2012, 18:24     Не компилируется код с friend
Вы либо в классе Class объявляете класс Node дружественным.
Либо делаете void Change (int n1) вне класса Node.

Тогда будет доступ к int Class::n;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Class
{
private:
    int n;
    friend class Node;
};
 
class Node
{
    Class s;
    void Change (int n1)
    {
        s.n = n1;
    }
};
Это нормальный вариант

или

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Class
{
private:
    int n;
public:
    friend void Change (Class& s,int n1);
};
 
class Node
{
    Class s;
};
void Change (Class& s,int n1)
{
        s.n = n1;
}
 
Текущее время: 03:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru