Описание тега friend-class

В объектно-ориентированном программировании, чтобы разрешить доступ к "частным" или "защищенным" данным класса в другом классе, последний класс объявляется как дружественный класс.
2 ответа

Друг класс в TypeScript

В C++ есть класс подруг. Насколько я знаю, такого нет в TypeScript/JavaScript. Есть ли способ имитировать такое поведение класса друга в TypeScript/JavaScript? Чтобы лучше понять (если нужно), почему и что я пытаюсь сделать, я делаю небольшую игру д…
23 авг '17 в 18:53
3 ответа

Друг класс в C++

Здесь я не очень хорошо понимаю концепцию, или я прав.... Итак, давайте возьмем этот пример класса "друг" здесь: class MyClass{ friend class AnotherClass; private: int secret; } class AnotherClass{ public: void getSecret(MyClass mc){ return mc.secre…
22 апр '16 в 10:25
1 ответ

C++: предоставить доступ частному оператору, "проходящему" через класс друга, возможно?

Допустим, я определил эти два класса: class Node { friend class list; public: Node (const int = 0); Node (const Node &); private: int val; Node * next; Node & operator= (const Node &); }; class list { public: list (); list (const list &a…
01 ноя '16 в 11:20
1 ответ

Друзья и вложенные классы

Хорошо, я полностью измотан этим. Код начинает плавать по экрану... надо спать. Так! Хорошо, обеспокоены вложенными классами и друзьями. вот псевдокод class A{ public: //constructor // member functions private: class B{ //private int a(); }; class C…
29 май '13 в 05:18
1 ответ

Создание экземпляра класса Friend в параметрах функции

Я новичок в работе с C++. Мне нужно объявить экземпляр класса в качестве параметра функции в другом классе, а экземпляр параметра объявлен как друг. Проиллюстрирую на примере. class foo(){ private: void a(){ // function definition } } class other_fo…
11 июн '15 в 04:04
4 ответа

Как получилось, декларация не нужна для концепции класса друга?

Я только недавно узнал о friend class концепт в C++ (я немного погуглил, но этот ответ заставил меня смеяться, пока я не вспомнил самые важные части), и я пытаюсь включить его в проект, над которым я сейчас работаю. Конечный вопрос в конце выделен, …
27 мар '12 в 13:43
2 ответа

"Классы друзей" в javascript

У меня есть класс Factory, который создает объект Widget. Объекту Factory необходимо позднее вызвать "закрытый метод" объекта Widget, чтобы передать ему некоторую информацию ajax. Пока что единственная реализация, которую я придумал, - это создание …
21 июн '11 в 10:36
2 ответа

Сделайте все производные шаблоны класса другом другого класса в C++

Допустим, мне нужна следующая иерархия: template<class T> class Base { protected: T container; }; template<class T> class Derived1 : public Base<T> { public: void f1() { /* Does stuff with Base<T>::container */ } }; template&…
15 дек '18 в 01:04
3 ответа

Функция друга и цикл включения

У меня проблема с функцией друга между двумя классами. Давайте посмотрим код: Первый класс: #ifndef _FIRST_H_ #define _FIRST_H_ //#include "Second.h" #include <string> class Second; class First { friend void Second::fun(); std::string str = "D…
06 ноя '15 в 21:59
2 ответа

Как сделать объект, чтобы обеспечить изменение функциональности только для определенных пользователей в C#?

Я создаю реализацию структуры данных half-edge в C#. Детали этой структуры не имеют отношения к моему вопросу, поэтому я представлю ее настолько глубоко, насколько это необходимо, но краткое резюме доступно по флип-коду, если кто-то заинтересован. М…
06 май '14 в 14:04
1 ответ

Два класса с методами друга в C++

В настоящее время я читаю книгу о C++ и у него есть некоторые упражнения. В одном из упражнений предлагается построить два класса, где у каждого есть метод друга для другого. Моя текущая догадка выглядит так: #include <iostream> using std::cou…
17 июн '13 в 20:03
1 ответ

Доступ к функциям-членам других классов в функцию-член класса `this` с использованием классов Composition или Friend

Я пишу класс, используя "состав" следующим образом - class fibonacci { private: FibonacciDynamic dy(); FibonacciRecursive re(); FibonacciSequential se(); int count; public: fibonacci(int a):count(a){}; void disp(); }; void fibonacci::disp() { if(cou…
04 фев '14 в 04:58
3 ответа

Функции друга и перегрузка оператора <<: Как правильно перегрузить оператор для класса?

В проекте, над которым я работаю, у меня есть Score класс, определенный ниже в score.h, Я пытаюсь перегрузить его так, когда &lt;&lt; операция выполняется на нем, _points + " " + _name печатается. Вот что я пытался сделать: ostream &amp; Score::oper…
1 ответ

Как класс друга может получить доступ к закрытому члену вложенного класса?

Рассмотрим следующий пример: class SIP{ public: friend std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, const SIP&amp; c); private: class BusStop; std::vector&lt;BusStop*&gt; mbusStops; }; class SIP::BusStop{ private: struct BusInfo; std::ve…
08 янв '15 в 12:52
1 ответ

C++ Доступ к приватному члену в классе друга

У меня есть 2 класса (firstClass и secondClass), который firstClass является другом secondClass и имеет частное вложенное unordered_map, к которому я хочу получить доступ в функции secondClass. Так что в основном код выглядит так: class secondClass;…
22 ноя '15 в 22:13
0 ответов

Зачем нам нужно предварительное объявление, прежде чем подружиться с конкретным экземпляром шаблона

Что меня смутило, так это то, что мне нужно предварительное объявление, прежде чем подружиться с конкретным созданием шаблона, даже если этот файл cpp включает в себя заголовочный файл, который содержит объявление и определение класса шаблона друга.…
27 окт '18 в 08:15
3 ответа

Наследовать дружбу в C++?

Так как классовая дружба не наследуется в C++, как лучше ее "подделать"? Я думал о том, чтобы показать частный интерфейс друга класса через защищенные методы в базовом классе, который должен быть унаследован, но это приводит к необходимости писать (…
05 ноя '09 в 15:36
2 ответа

Где в производном или базовом классе я должен объявить класс друга?

У меня есть производный класс, который реализует интерфейс (абстрактный класс) в C++. Этот интерфейс имеет несколько защищенных функций, реализация которых определена в производном классе. Теперь я пытаюсь получить доступ к этим защищенным функциям …
5 ответов

Объявление класса друга

Я новичок в программировании на C++. Можем ли мы объявить некоторых членов класса друзьями другого класса? это означает, что у класса A есть три функции-члена, и вместо того, чтобы объявлять весь класс своим другом другого класса B (скажем), я могу …
05 фев '13 в 04:49
5 ответов

Почему происходит сбой класса друга при вызове статической функции?

#include &lt;iostream&gt; using namespace std; class CClass { private: friend class CFriend; static void privateFunc(){std::cout &lt;&lt; "privateFunc" &lt;&lt; std::endl;}; }; class CFriend { public: void privateFunc(){privateFunc();}; }; int main(…
12 июл '11 в 13:27