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

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

Войти
Регистрация
Восстановить пароль
 
arhistratig13
25 / 18 / 2
Регистрация: 18.06.2013
Сообщений: 110
#1

Как обойти оператор присваивания, или явное копирование указателя - C++

24.06.2013, 16:58. Просмотров 275. Ответов 0
Метки нет (Все метки)

Мой мозг взрывается.
Есть оператор присваивания
C++
1
2
3
4
5
6
7
8
WEdge& WEdge::operator=(const WEdge &object)
{
        if (this == &object) return *this;
        this->Ne=object.Ne;
        this->Ke=object.Ke;
        this->W=object.W;
        return *this;
}
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
27
28
29
30
class Edge 
    {
    protected:
        int Ne, Ke;
    public:
        __declspec(dllexport) Edge();
        __declspec(dllexport) virtual ~Edge();
        __declspec(dllexport) Edge(int,int);
        __declspec(dllexport) void Print();
        __declspec(dllexport) void SetEdge(int,int);
        __declspec(dllexport) void SetNe(int);
        __declspec(dllexport) void SetKe(int);
        __declspec(dllexport) int GetNe();
        __declspec(dllexport) int GetKe();
    };
 
    class WEdge: public Edge
    {
    protected:
        double W;
    public: 
        __declspec(dllexport) WEdge();
        __declspec(dllexport) virtual ~WEdge();
        __declspec(dllexport) WEdge(int, double, int);
        __declspec(dllexport) void Print();
        __declspec(dllexport) void SetWEdge(int, double, int);
        __declspec(dllexport) void SetW(double);
        __declspec(dllexport) double GetW();
        __declspec(dllexport) WEdge& WEdge::operator=(const WEdge&);
    };
Никак не могу его обойти и прямо скопировать указатель... помогите плиз, мозг взрывается от 20 часов кодинга
Копирую так:
C++
1
T->GetAllEdges()[i]=e;
Где WEdge** GetAllEdges(); -массив
WEdge *e

Добавлено через 44 минуты
Решил проблему, извиняюсь за беспокойство, вопрос вообще несколько неккорректен был когда я узнал что проблема в приоритетной очереди, где я объекты кидаю по моей очереди не указателями а прямым копированием и удалением...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как обойти оператор присваивания, или явное копирование указателя (C++):

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Как перегрузить оператор индексации для указателя - C++
#define HIGH_H 0 #define LOW_H 1 #define OPEN_H 2 #define CLOSE_H 3 #define VOLUME_H 4 #define HER_H 5 class Candle { ...

оператор присваивания - C++
Привет всем ! Каким образом вызывается оператор присваивания, например, здесь: a = "I "; если в аргументе char*, а в операторе...

Оператор присваивания. - C++
Всем привет!В универе щас работаем с классами и перегрузками.В частности перегрузкой оператора присваивания и индексации.И я в упор не...

Оператор присваивания - C++
Почему в этом случае вызывается оператор присваивания Fraction f4; f4 = f1+f2+f3; а в другом не вызывается: ...

оператор присваивания - C++
Подскажите пожалуйста, вот я создал класс, конструктор которого создает 2хмерный массив из 2ойного указателя, являющейся членом этого...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 16:58
Привет! Вот еще темы с ответами:

Оператор присваивания - C++
Добрый день! Помогите, пожалуйста, разобраться. Я не совсем понимаю работу перегруженного оператора присваивания в классе String, который...

Оператор присваивания - C++
Какая разница между оператором "=" и "==" Почему , например , в цикле нужно писать while(count==1) а не ...

Оператор присваивания в c++ - C++
Такой вопрос, для каких классов следует явно перегрузить оператор присваивания??

Оператор присваивания и деструктор - C++
Вопрос: почему в 52 строке Access violation? Если убрать строку 50, все будет нормально. #include <iostream> using namespace std; ...


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

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

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