Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
#1

error C2248 - C++

22.02.2011, 03:36. Просмотров 1383. Ответов 4
Метки нет (Все метки)

Почему я не могу обратиться к 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"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2011, 03:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error C2248 (C++):

error C2248 - C++
Есть програма, которая должна откривать файл в папках, считать его хэш и добавлять в вэктор. Вот она: File.h #pragma once ...

error C2248 - C++
Привет всем. Из за чего может быть така ошибка error C2248? Пишу в vs 2005, подключил директиву &lt;fstream&gt; (без &quot;.h&quot;) после директив...

Ошибка C2248 - C++
Здравствуйте, форумчане! Необходимо написать программу рисования гипоциклоиды, я написал все функции расчёта и рисования, однако когда я...

Исправить ошибку в WxDev-C++: Error with debugging process: GDB Error: error, No source file named main.cpp - C++
Здравствуйте товарищи! Новенький я в си, установил wxDev-C++, скомпилировал, запускаешь - работает, а чтоб пошагово отладка - не...

Error LNK1120, error LNK2019, error LNK2028, queue - C++
// свойство класса Parser queue&lt;elem*&gt;* postfix = new queue&lt;elem*&gt;; // строка, из-за которой происходит ошибка ...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...

4
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
22.02.2011, 07:41 #2
На то он и private.
0
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
22.02.2011, 08:33  [ТС] #3
я имел ввиду что перегрузка оператора не является членом класса или как, объясните?
0
newAlex
22.02.2011, 12:54 #4
напиши просто метод который будет возвращать private поле і в перегрузке оператора вызывай.
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
22.02.2011, 14:24  [ТС] #5
Цитата Сообщение от newAlex Посмотреть сообщение
напиши просто метод который будет возвращать private поле і в перегрузке оператора вызывай.
Не могли бы по подробнее объяснить. пож.
0
22.02.2011, 14:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2011, 14:24
Привет! Вот еще темы с ответами:

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' - C++
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...

[ilink32 Error] Error: Unresolved external 'zamena (int * *) ' referenced - C++
Вот это программа не работает : вот ошибка которую выдает компилятор: Error: Unresolved external 'zamena(int * *)' referenced from...

Ошибка error C2146: syntax error : missing ';' before identifier 'alph' - C++
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

Причина ошибки [ilink32 Error] Error: Unable to perform link - C++
Когда сохранил программу и пытаюсь открыть ее снова то мне выкидывает ошибку Warning: Error detected (LME288) Error: Unable to...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru