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

Переопределение операции присваивания - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как реализовать флаги в параметрах функции http://www.cyberforum.ru/cpp-beginners/thread1235623.html
Объясните пожалуйста как реализовать флаги в параметрах функции. К примеру: есть такие флаги left middle right drowPoints (тут параметры флаги); Вот так я эти флаги прописываю
C++ Исправить ошибку "undefined reference" Компилирую в Ubuntu 14.04 Code::Block Есть 3 файла. klass.h initial.cpp main.cpp klass.h #include <iostream> #include <cstring> using namespace std; class Book http://www.cyberforum.ru/cpp-beginners/thread1235621.html
C++ Убрать привязку к конкретной директории. GetCurrentDirectory
Привет, всем! Новая проблемка, имеется следующее: D3DXCreateTextureFromFileEx(pDirect3DDevice, "C:/Users/Anton/Documents/Visual Studio 2010/Projects/MyProgectSprite/OpeningScreen.bmp", D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_ARGB(255,255,255,255), NULL, NULL, &openingTexture); Мне не нравится строка...
Программа ввода и проверки пароля C++
Я хочу написать программу запрашивающая пароль пока тот не станет верным написал прогоамма работало но даже если пароль был не верен просто выводила другую строку добавил цикл программа не работает вот код #include <iostream.h> #include <stdio.h> #include <locale> using namespace std; int hacerAlert () { string answer;
C++ Игра крестики нолики http://www.cyberforum.ru/cpp-beginners/thread1235549.html
#include <iostream> using namespace std; int main () { int a,k=0,c; char mas; while(k<10) {
C++ Вывод числа в столбик с первой цифры, без массива, без строк #include <iostream> #include <math.h> using namespace std; void p(long a) { long i=0,z=a; while (z) { z/=10; i++; //êîëè÷åñòâî öèôð âî ââåäåííîì ÷èñëå подробнее

Показать сообщение отдельно
Gwini
10 / 10 / 3
Регистрация: 08.03.2014
Сообщений: 70
29.07.2014, 09:56  [ТС]     Переопределение операции присваивания
Цитата Сообщение от dalay_lama Посмотреть сообщение
Попробуй сейчас оставить только присвоение вида Classic& Classic::operator=(Cd &cd);
только не делай этого в методе - Classic temp = (Classic &)cd а просто дай нулевой указатель свойству main_cmpc, проверь, будет ли ошибка
Без приведения типа не получится дать нулевой указатель свойству main_cmpc, но все равно вызывается базовый метод а не этот, так что это не имеет значения — все равно та же ошибка.
Я вот думаю что для операции присвоения просто действуют строгие правила по поводу аргументов и нужно явно указать тип. И те правила что действуют для обычних методов не действуют для операции присвоения. Хотя для конструкторов действуют, так что я не уверен. В любом случае спасибо что уделил время и если узнаешь что то об этих правилах, то напиши пожалуйста. Удачи

Добавлено через 2 минуты
Цитата Сообщение от dalay_lama Посмотреть сообщение
тьфу ты)
само собой у тебя будет вызываться сначала оператор присваивания базового класса. Тебе же сначала нужно задать значения для свойств базового класса, так? для этого вызываем оператор присваивания БАЗОВОГО класса Cd::operator=(argument) - у тебя были эти строки, я помню
а все, ясно. Нету никаких строгих правил, просто main_cmps не инициализированый и при удалени невыделеного блока памяти вот эта ошибка. Все, спасибо!
 
Текущее время: 00:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru