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

Непонятная для меня ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сиб запись и чтение из файла http://www.cyberforum.ru/cpp-beginners/thread832014.html
Помогите, пожалуйста, нашла уже существующие темы по данному вопросу, но так как не все понятно, интересует именно частные случай. Задание:Записать во внешний файл целое число N. Написать программу, которая считывает это число из файла, вводит с клавиатуры одномерный массив из N элементов, вычисляет разность max и min значения массива и выводит значение в другой файл. Вот написанная мною...
C++ Удалить из списка неупорядоченные подсписки Доброго времени суток! Из списка нужно удалить неупорядоченные подсписки. К примеру, если была последовательность 6 8 2 11 4 9 20 55 должно остаться: 6 8 11 20 55 Помогите пожалуйста реализовать функцию удаления этих элементов. Заранее спасибо! Мой код: #include "iostream" #include <time.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread832012.html
C++ перевести с Паскаль
123
Реализовать класс матриц, СРОЧНО! C++
Помогите реализовать класс матриц, очень надо #ifndef MATRIX_H #define MATRIX_H 1 #include <iostream> class Matrix {
C++ Класс friend http://www.cyberforum.ru/cpp-beginners/thread831997.html
Проблемка с доступом через дружественный класс: class Game { friend Player; //тут объявлен класс-друг protected: string name; };
C++ Определите номер квадранта, в котором находится точка с заданными координатами х,у Люди помогите с задачкой, я пишу на паскале а язык С++ я попросту не знаю...))) В долгу не останусь. Все же надеюсь есть люди добрые))) 1 - Определите номер квадранта, в котором находится точка с заданными координатами х,у подробнее

Показать сообщение отдельно
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.04.2013, 00:39
Есть неявный конструктор копирования (конструктор поверхностного копирования), который предоставляется по умолчанию, если неопределён явный. Он просто копирует поля класса. Во многих случаях, этого вполне достаточно. Это всё похоже на работу явного и неявного операторов присваивания. В вашем коде задаётся явный оператор присваивания (по той же причине). Если бы работал неявный, то это выглядело бы так:

C++
1
2
3
4
5
6
7
8
matrix matrix::operator=(const matrix &input)
{
    rows = input.rows;
    columns = input.columns;
    mat = input.mat; 
    
    return *this;
}
Это и есть поверхностное присваивание. Для rows и columns это вполне подходит, а для mat - нет. Присваиваеся (или копируется) просто указатель, а не то, на что он ссылается.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru