Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шахматы не могу понять задачи .. помогите Класс "фигура": координаты на шахматной доске, цвет. Метод - "ход" на одну позицию в одном из 4 направлений. Производные: "лошадь", "пешка" (порядковый номер,... https://www.cyberforum.ru/ cpp-beginners/ thread1555274.html Ошибка в классе C++
Есть мойкласс. Когда создаю объект этого класса, проэкт не компилируется из-за ошибки: мойкласс does not name a type мойкласс *мойобъект; но, если я закомментирую все что связано с объектом...
C++ Одномерный массив, выполнение двух условий Доброго времени уважаемые форумчане! Подскажите как воплотить следующие условия в работу одномерного массива: • минимальный элемент массива; • преобразить массив таким образом, чтобы сначала... https://www.cyberforum.ru/ cpp-beginners/ thread1555258.html C++ Singleton vs static class Зачем этот синглтон, если его можно представить как класс с статическими полями и методами. Какой случай я упускаю? https://www.cyberforum.ru/ cpp-beginners/ thread1555230.html
Сортировка Шелла C++
Заменить сортировку на шаг Седжвика #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char *argv) { // файл создается в текущей директории system("chcp...
C++ Реализовать класс «массив целых чисел». Обработать ошибки динамического выделения памяти https://www.cyberforum.ru/ cpp-beginners/ thread1555221.html
Реализовать класс «массив целых чисел». Обработать ошибки динамического выделения памяти. Переопределить оператор ++ для указателя на массив целых, обработать ошибку выхода за границы массива. ...
C++ В заданной квадратной матрице найти наибольший элемент В данной квадратной матрице найти наибольший элемент и перемножить попарно элементы строки, в которой он расположен, и элементы столбца, в котором он находится. В случае наличия нескольких элементов,... https://www.cyberforum.ru/ cpp-beginners/ thread1555216.html C++ Приближенное значение функции с использованием разных циклов
Вычислить приближенное значение функции, вычислив сумму конечного числа элементов ряда двумя способами, используя разные типы циклов: 1) с заданной точностью; 2) для заданного количества членов...
C++ Исправить выход за границы двумерного динамического массива Уважаемые форумчане, помогите, проблема в том, что пишет ошибку после выполнения функции вывода массива, вот код //распечатка матрицы void get_users_matrix (int ** A, int n, int m ) { int... https://www.cyberforum.ru/ cpp-beginners/ thread1555188.html C++ Программа, определяющая хеш файла https://www.cyberforum.ru/ cpp-beginners/ thread1555179.html
Здравствуйте, задача такая, что надо написать программу, которая будет определять хеш заданного файла. Есть код программы, где определяется хеш текстовика. Заранее спасибо. #include "stdafx.h"...
Определить количество элементов массива, которые меньше предыдущего и меньше последующего C++
В целочисленном,одномерном массиве определить кол-во элементов, которые меньше предыдущего и меньше последующего
C++ Среднее арифметическое массива с указателем https://www.cyberforum.ru/ cpp-beginners/ thread1555171.html
Доброго времени суток ув. форумчане! Попал в такую ситуацию, что необходимо быстрым темпом изучать плюсы, немного не успеваю. И тут поступило задание : создать массив чисел типа double и высчитать...
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
18.10.2015, 16:32 0

Можно ли в конструкторе копирования поменять один параметр? - C++ - Ответ 8210021

18.10.2015, 16:32. Показов 1161. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено Вероника99 как решение

Решение

Вероника99, здравствуйте. Судя по Вашему вопросу, Вы не вполне верно понимаете сферу применения конструкторов и механизм их работы. Конструктор, с помощью которого создаётся объект - это специальная функция-член:
Цитата Сообщение от Стивен Прата
В момент создания и уничтожения объектов инициируются специальные методы класса, называемые
конструкторами и деструкторами.
Конструктор копирования нужен для копирования уже готового объекта в другой уже готовый объект:
Цитата Сообщение от Стивен Прата
Конструктор копирования вызывается всякий раз, когда создается новый объект,
и для его инициализации берется значение существующего объекта того же типа.
Конструктор копирования не предназначен для изменения других конструкторов. Более того, уже существующий конструктор нельзя никак изменить. Только если переписать его заново (изменить реализацию).

Добавлено через 5 минут
Цитата Сообщение от Вероника99 Посмотреть сообщение
поменять один параметр в конструкторе
Что значит "поменять" один параметр? Поменять значение? Поменять тип?

Добавлено через 25 минут
Если у Вас там имеет место быть наследование, то во время инициализации полей наследника может вызываться конструктор копирования.

Из той же книжки:
Цитата Сообщение от Стивен Прата
Теперь рассмотрим код для второго конструктора:
C++
1
2
3
4
RatedPlayer::RatedPlayer(unsigned int r, const TableTennisPlayer & tp) : TableTennisPlayer(tp) 
{ 
    rating = r; 
}
Информация TableTennisPlayer также передается конструктору TableTennisPlayer:
C++
1
TableTennisPlayer(tp)
Поскольку tp имеет тип const TableTennisPlayer &, при этом вызывается
конструктор копирования базового класса. Конструктор копирования в базовом классе не
определен, однако в главе 12 уже было сказано, что если конструктор копирования
необходим, но не был определен, компилятор генерирует его автоматически.


Вернуться к обсуждению:
Можно ли в конструкторе копирования поменять один параметр? C++
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2015, 16:32
Готовые ответы и решения:

Параметр в конструкторе копирования
Есть класс class CMatrix{ valarray&lt;valarray&lt;double&gt; &gt; matrix; public: CMatrix(const...

О конструкторе копирования
Доброго времени суток всем присутствующим. Интересует маленький вопрос. В 15-й строке происходит...

Указатель this в конструкторе копирования
Добрый всем вечер. Подскажите пожалуйста, как правильно применить в конструкторе копирования...

Ошибка в конструкторе копирования
Всем привет, не могу понять проблему, у меня есть структура: struct WindowRender : public...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2015, 16:32
Помогаю со студенческими работами здесь

Ошибка в конструкторе копирования C++
Помогите, пожалуйста создать конструктор копирования, который будет копировать элемент и добавлять...

Ошибка в конструкторе копирования
Здравствуйте. Есть один класс для работы с многочленами, который хранит элементы многочлена в...

Ошибка в конструкторе копирования класса
Хотя и делал по образцу, но почему то лезет ошибка записи за пределы динамического массива, хотя и...

Зачем нужна ссылка в конструкторе копирования
Вопрос такой, Зачем нужна ссылка в конструкторе копирования? Почему не передавать напр. по...

Параметр this в конструкторе, методе
Рассмотрим на примере узла (Node) кольцевого двусвязного списка. Значения первого узла (Next, Prev)...

Ссылка rvalue в конструкторе копирования и операторе присваивания
Здравствуйте. Решил попробовать ссылки rvalue в классе. Привожу часть: \\BinaryArray.h ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru