Форум программистов, компьютерный форум CyberForum.ru

Что в данном случае означает friend? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка выбором(задача) http://www.cyberforum.ru/cpp-beginners/thread1043349.html
Фаст хелп) Откорректируйте код плз) Условие задачи: есть одноименный массив длиной 40. Отсортировать методом выбора элементы массива, которые являются не кратными числами(числа генерируются рандомно от 0 до 50) #include <iostream> #include <ctime> #include <cstdlib> using namespace std; void display_array() {
C++ Поиск максимального елемента вот есть код програмы которая генерует случайные числа по нормально закону, и нужно найти максимальный елемент в каждом столбце, но находит только в первом и втором а следующие нет. Может кто знает в чем пробема. #include <stdio.h> #include <conio.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h> #include <random> http://www.cyberforum.ru/cpp-beginners/thread1043330.html
Символьный тип данных, выяснить входит ли в последовательность s1, s2, …, sn буква j C++
Даны символы s1, s2, … . Известно, что символ отличен от восклицательного знака и что среди s1, s2, … есть по крайней мере один восклицательный знак. Пусть s1, s2, …, sn символы данной последовательности, предшествующие восклицательному знаку (n заранее неизвестно). Выяснить входит ли в последовательность s1, s2, …, sn буква j.
C++ Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста
Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста
C++ Задача типа Водолей http://www.cyberforum.ru/cpp-beginners/thread1043310.html
Есть задача типа Водолей. Дано n посудин емкостью по k_1, k_2,...,k_n каждая. Нужно набрать P литров жидкости. Допустимые действия: - набирать воду до упора из бесконечного источника в любой сосуд. - переливать из любого сосуда в любой пока один из них не будет полным ил пустой. - выливать воду из сосуда
C++ Выполнить сортировку массивов А и В по возрастанию с использованием сортировки Шелла.(Паскаль) Сортировать массивы А и В по возрастанию с использованием сортировки Шелла. Узнать сумма максимальных элементов массивов С и D. Размерность : A: 23 B: 14 C: 18 D: 22 Диапазон значений: A: B: подробнее

Показать сообщение отдельно
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
16.12.2013, 02:32     Что в данном случае означает friend?
Всем доброй ночи!

Не по теме:

Помню, кода-то очень давно мельком видел, что кто-то уже спрашивал аналогичный вопрос, но тогда не придал этому значение, так как абсолютно ничего не понимал, сейчас эту тему не нашёл...


Практически всегда вижу, что бинарные операторы обычно перегружают с использованием friend, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
class MyStr{
    char Str[50];
public:
    MyStr(){}
    MyStr(const char *ptStr){
        strcpy(Str,ptStr);
    }
    friend MyStr operator + (const MyStr &l, const MyStr &r){
        MyStr temp_st;
        strcpy(temp_st.Str,l.Str);
        strcat(temp_st.Str,r.Str);
        return temp_st;
    }
    friend ostream& operator<<(ostream &os, const MyStr &p){
        os<<p.Str;
        return os;
    }
};
int main(){
    MyStr qwe="Param", asd="Qwerty", zxc;
    zxc=qwe+asd;
    cout<<zxc+(asd="123")<<qwe+"!@!&!\n";
    return 0;
}
Я так понимаю наличие friend здесь, образно говоря, позволяет задать два параметра (что должно быть слева и справа от оператора) без него можно, только один оператор (что должно быть справа)...
Насколько я знаю, friend означает, что некое "нечто" (например как в данном случае функции), которое объявлено в текущем классе как друг, может манипулировать частными элементами этого класса, но это имеет смысл, если это нечто не принадлежит этому текущему классу и определено где-то ещё... Так вот, какое тогда значение и смысл несёт friend в данном случае?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru