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

Перегрузка операторов и доступ к закрытым членам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод с 2сс в любую http://www.cyberforum.ru/cpp-beginners/thread261577.html
Помогите пожалуйста начинающему программисту написать алгоритм перевода двоичного числа в 8,10,16 системы счисления. Если можно с описанием что бы не скопировать, а разобраться.
C++ Работа с уже созданным файлом Запускаю программу,создаю при помощи функции файл(функцию создания файла уже не скидывал).Затем выхожу из программы.Потом опять захожу в программу и данная функция не хочет работать с уже созданным файлом. Вопрос: Как сделать чтобы она работа с уже созданным файлом??? void probeg() { system("cls"); cout<<"Введите имя уже созданного файла: "; cin>>filename; ... http://www.cyberforum.ru/cpp-beginners/thread261573.html
Ошибка Declaration terminated incorrectly C++
Declaration terminated incorrectly 1.cpp #include <stdio.h> #include <string.h> #include <iostream.h> #include <conio.h> #include "add.h" void main(){ int i,n,op,vyh=0; rozklad x;
Нужны коментарии к коду C++
Помогите пожалуйста с лабораторной работой Вот код слияние двух массивов, помогите пожалуйста написать коментарии к каждой строчки что выполняет данная строчка буду очень благодарен #include <iostream> #define N 6 #define M 8 using namespace std;
C++ Рекурсия http://www.cyberforum.ru/cpp-beginners/thread261516.html
Помогите срочно ! Нужен код дампа с рекурсией.. могу дать без рекурсии для редактирования. Сдавать завтра( #include <iostream> using namespace std; short int a,b,i(1); short int dvoichnay(short int number)
C++ Всем здрасте.Можете написать, как выполн.сортировка для данного примера,2-3шага(этапа)?!У меня не получилось и не профф...мне нужно ответ одну. " Двоичная быстрая сортировка " ----------------------------------- заранее спс подробнее

Показать сообщение отдельно
Alecs12
1 / 1 / 0
Регистрация: 21.03.2011
Сообщений: 23

Перегрузка операторов и доступ к закрытым членам - C++

21.03.2011, 23:55. Просмотров 1065. Ответов 4
Метки (Все метки)

Поясните, пожалуйста, почему, когда при перегрузке операторов, елис как аргумент передается ссылка на обьект класса, то через эту ссылку мы имеем досуп з закрытым членам этого класса? Насколько я понял, закрытые данные не будут доступны черезщ обьект класса, а тут мы получаем к ним доступ.
Пример из книги Дейтелов

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Array
{
public:
    Array(int = 10);
    Array(Array &); //copy constructor
    ~Array();
    int GetSize() const;
    Array& operator=(const Array&);
 
private:
    int size;
    int *ptr;
    static int arrayCount;
};
Вот реализация оператора =
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array &Array::operator =(const Array & ar)
{
    if(&ar != this)
    {
        if(size!=ar.size)
        {
            delete [] ptr;
            size = ar.size;
            ptr = new int[size];
        }
 
        for(int i=0; i<size; i++)
            ptr[i]= ar.ptr[i];
    }
 
    return *this;
}
Мы получаем досуп к закрытым данным. Почему? Данные ж закрыты. Не понимаю этого
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru