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

error C2248 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
22.02.2011, 03:36     error C2248 #1
Почему я не могу обратиться к private члену?
файл 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
    class complex
{
    private:
    double mt;
    double th;
 
    public:
    complex();
    complex(double a, double b);
    complex operator+(const complex &t);
    friend ostream& operator<<(ostream &os, const complex &s);
    
};
файл 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    complex::complex()
{
    mt = th = 0;
}
 
    complex::complex(double a, double b)
{
    mt = a;
    th = b;
}
    complex operator+(const complex &t)
{
    complex cm;
    cm.mt = mt + t.mt;
    cm.th = th + t.th;
    return cm;
}
 
    ostream& operator<<(ostream &os, const complex &s)
{
    os << "weith part" << s.mt << "think part" << s.th << "\n";
    return os;
}
error C2248: complex::mt: невозможно обратиться к private член, объявленному в классе "complex"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
 Аватар для besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
22.02.2011, 07:41     error C2248 #2
На то он и private.
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
22.02.2011, 08:33  [ТС]     error C2248 #3
я имел ввиду что перегрузка оператора не является членом класса или как, объясните?
newAlex
Сообщений: n/a
22.02.2011, 12:54     error C2248 #4
напиши просто метод который будет возвращать private поле і в перегрузке оператора вызывай.
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
22.02.2011, 14:24  [ТС]     error C2248 #5
Цитата Сообщение от newAlex Посмотреть сообщение
напиши просто метод который будет возвращать private поле і в перегрузке оператора вызывай.
Не могли бы по подробнее объяснить. пож.
Yandex
Объявления
22.02.2011, 14:24     error C2248
Ответ Создать тему
Опции темы

Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru