Вопросы по теме '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 просмотров
schedule
17.09.2022
C++: два класса ссылаются друг на друга
Итак, чтобы поиграть с дружественными функциями, я решил создать класс Child и класс Mother . Класс Mother имеет элемент данных, который является дочерним. Класс Child создает два метода дружественных функций класса Mother.
Однако когда я...
442 просмотров
schedule
10.11.2022
Предотвратить доступ функции друга к частному члену класса
Как мы можем предотвратить доступ функции друга к частному члену класса. Можем ли мы вообще это сделать?
Этот вопрос был задан в интервью, и он был уверен, что это можно сделать, он намекнул на объект функтора/функции. Пока ничего не могу...
351 просмотров
schedule
05.06.2024
Оператор дружественного потока в C ++ 17 простого шаблона класса
У меня другой вопрос, потому что он относится к более новой версии C ++.
Этот вопрос уже задавался здесь , и я имею в виду этот ответ. Однако об этом спросили и ответили еще в 2009 году, и это довольно устарело для текущих компиляторов и версий...
121 просмотров
schedule
25.02.2024
Друг С++ не работает с закрытыми членами
Я пытался создать дружеские отношения между двумя классами. Ниже приведен пример:
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 просмотров
schedule
01.02.2024
шаблонное объявление друга не работает из-за ошибки компилятора 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 просмотров
schedule
12.12.2022
Функция друга с использованием классов шаблонов С++
Я создал класс, у которого есть функция друга, и когда я объявляю его, проблем нет, но когда я пишу его код, он возвращает мне ошибку:
Нестандартное определение «изменения» не соответствует ни одному объявлению в «MyClass».
Вот код
template...
50 просмотров
schedule
25.01.2024