Кто кому Friend?

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

Creo

Гость
#1
Допустим некотороя ф-ция друг принимает в качестве параметров класс, другом которого она является.
Например:
Код:
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

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

Creo

Гость
#3
А что если б было наследование? Что тогда с а?
 
C

Creo

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