Кто кому Friend?

Тема в разделе "Общие вопросы по С и С++", создана пользователем Creo, 6 дек 2006.

  1. Creo

    Creo Гость

    Допустим некотороя ф-ция друг принимает в качестве параметров класс, другом которого она является.
    Например:
    Код (Text):
     
    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;? :)
     
  2. sdriver

    sdriver Гость

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

    Creo Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    А что мешает сделать protected метод GetA()?
     
  5. Creo

    Creo Гость

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

Поделиться этой страницей