Вопросы по теме 'friend'

Дружественные шаблонные функции (в нешаблонных классах), C++
Если у меня есть класс, не являющийся шаблоном (то есть «обычный»), и я хочу иметь функцию друга шаблона, как мне написать ее, не вызывая ошибки компилятора? Вот пример, иллюстрирующий то, что я пытаюсь сделать: template <class T> void...
5990 просмотров
schedule 16.11.2022

нужна функция друга в пространстве имен, но не весь класс
это дополнительный вопрос к функции друга в пространстве имен Если я хочу, чтобы testFunc находился в пространстве имен TestNamespace, но я не хочу, чтобы TestClass также находился в TestNamespace, как я могу объявить их? 1. Это не работает...
479 просмотров
schedule 07.11.2022

объявить шаблон класса другом
По некоторым причинам я хотел бы написать такой код: template<class T> class C : public T { friend class T; }; Думаю код понятен. Я хочу иметь шаблон класса, который определяет класс, производный от класса, переданного ему в качестве...
1009 просмотров
schedule 12.02.2024

В чем разница между дружбой и наследством?
Предположим, что есть два класса A и B: class A {}; class B {}; Чем отличаются два приведенных ниже примера? Пример 1: class C : public A, public B {}; Пример 2: class C { //private friend class A; friend class...
11836 просмотров
schedule 10.02.2024

Является ли локальный класс в методе класса другом этого класса?
У меня есть внешний класс A . У него есть метод A::fun . В этом методе он имеет локальный или внутренний класс B . Мой вопрос: B друг A ? Я думаю, что это не так. Это правильно? Если это так, то я думаю, что класс B , друг A , очень...
443 просмотров
schedule 04.04.2024

Создание нового узла для бинарного дерева поиска
Для школьного проекта я пытаюсь создать двоичное дерево поиска, в то же время мы должны научиться использовать «дружбу» в классах. Ошибки, которые я получаю при компиляции: [Я добавляю комментарии в код, откуда возникают ошибки для ясности] (Имейте в...
2161 просмотров

C++: два класса ссылаются друг на друга
Итак, чтобы поиграть с дружественными функциями, я решил создать класс Child и класс Mother . Класс Mother имеет элемент данных, который является дочерним. Класс Child создает два метода дружественных функций класса Mother. Однако когда я...
442 просмотров
schedule 10.11.2022

Предотвратить доступ функции друга к частному члену класса
Как мы можем предотвратить доступ функции друга к частному члену класса. Можем ли мы вообще это сделать? Этот вопрос был задан в интервью, и он был уверен, что это можно сделать, он намекнул на объект функтора/функции. Пока ничего не могу...
351 просмотров
schedule 05.06.2024

Оператор дружественного потока в C ++ 17 простого шаблона класса
У меня другой вопрос, потому что он относится к более новой версии C ++. Этот вопрос уже задавался здесь , и я имею в виду этот ответ. Однако об этом спросили и ответили еще в 2009 году, и это довольно устарело для текущих компиляторов и версий...
121 просмотров

Друг С++ не работает с закрытыми членами
Я пытался создать дружеские отношения между двумя классами. Ниже приведен пример: class A { public: int b; private: friend class B; int a; }; class B { public: A abc; }; int main () { B b; b.abc.b = -1; b.abc.a = 0; return 0;...
936 просмотров
schedule 22.04.2024

Может ли класс добавлять классы друзей во время выполнения на С++?
Я хотел бы, чтобы некоторые классы стали друзьями других классов во время выполнения. Есть ли способ сделать это? В качестве альтернативы, есть ли способ получить доступ к общедоступным/защищенным/частным иварам объекта во время выполнения - или...
216 просмотров

шаблонное объявление друга не работает из-за ошибки компилятора g++ 5.4.0 или плохого кода?
Ниже приведен код C++, который компилируется без ошибок на моем Mac ( Xcode 10.2 10E125 / Apple LLVM версии 10.0.1 (clang-1001.0.46.4) ), но выдает сообщение об ошибке компилятора (показано ниже) при мой компьютер с Linux ( g++ (Ubuntu...
88 просмотров
schedule 20.03.2024

Вызывает ли этот код нарушение правила одного определения?
Я пытаюсь выяснить, при каких обстоятельствах следующий код может привести к нарушению правила одного определения. header.h #pragma once #include <cstddef> template<typename T, typename U> class C {  friend std::size_t f() {...
41 просмотров

Функция друга с использованием классов шаблонов С++
Я создал класс, у которого есть функция друга, и когда я объявляю его, проблем нет, но когда я пишу его код, он возвращает мне ошибку: Нестандартное определение «изменения» не соответствует ни одному объявлению в «MyClass». Вот код template...
50 просмотров
schedule 25.01.2024