Описание тега 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, Я пытаюсь перегрузить его так, когда << операция выполняется на нем, _points + " " + _name печатается. Вот что я пытался сделать: ostream & Score::oper…
13 май '10 в 15:59
1
ответ
Как класс друга может получить доступ к закрытому члену вложенного класса?
Рассмотрим следующий пример: class SIP{ public: friend std::ostream& operator<<(std::ostream& os, const SIP& c); private: class BusStop; std::vector<BusStop*> 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++. Этот интерфейс имеет несколько защищенных функций, реализация которых определена в производном классе. Теперь я пытаюсь получить доступ к этим защищенным функциям …
13 фев '19 в 21:35
5
ответов
Объявление класса друга
Я новичок в программировании на C++. Можем ли мы объявить некоторых членов класса друзьями другого класса? это означает, что у класса A есть три функции-члена, и вместо того, чтобы объявлять весь класс своим другом другого класса B (скажем), я могу …
05 фев '13 в 04:49
5
ответов
Почему происходит сбой класса друга при вызове статической функции?
#include <iostream> using namespace std; class CClass { private: friend class CFriend; static void privateFunc(){std::cout << "privateFunc" << std::endl;}; }; class CFriend { public: void privateFunc(){privateFunc();}; }; int main(…
12 июл '11 в 13:27