• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Кто кому Friend?

  • Автор темы Creo
  • Дата начала
C

Creo

Допустим некотороя ф-ция друг принимает в качестве параметров класс, другом которого она является.
Например:
Код:
Class MyC;
friend MyC& foo(const MyC& obj1, const MyC obj2){
a = obj1.a + obj2.a; // a закрытая переменная член
MyC ret(a);
return ret;
}
Вопрос возможен ли такой синтаксис, либо локально надо создовать объект этого класcа и писать следующее MyC loc_a=obj1.a + obj2.a;? :)
 
S

sdriver

Это не наследование, поэтому создавай loc_a.
 
C

Creo

А что если б было наследование? Что тогда с а?
 
E

European

А что мешает сделать protected метод GetA()?
 
C

Creo

Так как тот класс что я пушу прденазначен для больших чиле. Т.е. таких что больше 2 в 32 степени >4 500 000 000. То "гонять" туду-сюда такие значения методоми просто не эвективно. Поэтому внешние ф-ции сразу отподают. Остаются только ф-ции члены и ф-ции друзья. Естественно, так как это арифметика хотелось бы чтоб работали такие вещи как (число+ обект) и (обьект + число). Остаются только друзья. Вот так... ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!