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

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

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
#1

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

16.10.2013, 19:48. Просмотров 653. Ответов 4
Метки нет (Все метки)

конструктор преобразования

"Любой конструктор класса, принимающий один параметр какого-либо другого типа, называется конструктором преобразования, поскольку он осуществляет преобразование из типа параметра в тип этого класса."

почему именно один параметр?

чем он отличается от конструктор копии??

спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 19:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос конструктор преобразования (C++):

Конструктор преобразования. - C++
Есть класс Complex с двумя элемент данными: real и image Надо написать конструктор преобразования базового типа к типу, определяемому...

Конструктор преобразования - C++
Пишу программу, нужно сделать так чтобы вводилась строка типа string а потом обработка происходила с каждым символом типа char, программа с...

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования - C++
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Класс...

this(Всегда ли вызывается конструктор при не явной передачи объекта в конструктор) - C++
class Test { int i; public: void test(int i) { this -> i = i; } }; Конструктор Test::Test всегда вызывается...

Будет ли определен компилятором конструктор по умолчанию, если есть конструктор с дефолтным параметром? - C++
Добрый день, сразу к делу, есть некий класс class some { int x; public: some(int y = 1) : x(y) {} };

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно» - C++
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по умолчанию, конструктор с параметрами....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
B@R_LOG
18 / 18 / 0
Регистрация: 03.07.2013
Сообщений: 49
16.10.2013, 20:02 #2
C++
1
2
3
4
5
6
7
8
9
class TSet 
{   private:
        int MaxPower; 
        TBitField BitField;
}
 
TSet::TSet(const TSet &s): MaxPower(s.MaxPower), BitField(s.BitField) {} // конструктор копирования
 
TSet::TSet(const TBitField &bf): MaxPower( bf.GetLength() ), BitField(bf) {} // конструктор преобразования типа
C++
1
2
3
4
5
6
7
TSet A(5); /* делаем что-нибудь с этим объектом А*/ 
 TSet B(A); /* просто копируем в поля объекта B поля объекта А*/
 
TBitField bf(10);
TSet C(bf); /* в поля объекта C пытаемся занести поля объекта bf, но bf у нас не TSet*/
/* Значит надо преобразовать схожий объект из TBitField -> TSet, где друг другу 
соответствуют (С.MaxPower & bf.Length) и  ( С.BitField & bf) */
1
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
16.10.2013, 22:56  [ТС] #3
Цитата Сообщение от slipp1 Посмотреть сообщение
почему именно один параметр?
???
0
Croessmah
Эксперт CЭксперт С++
13234 / 7506 / 846
Регистрация: 27.09.2012
Сообщений: 18,437
Записей в блоге: 3
Завершенные тесты: 1
16.10.2013, 23:03 #4
Цитата Сообщение от slipp1 Посмотреть сообщение
Цитата Сообщение от slipp1 Посмотреть сообщение
почему именно один параметр?
???
кто Вам такое сказал?
0
ct0r
Игогошка!
1773 / 675 / 42
Регистрация: 19.08.2012
Сообщений: 1,287
Завершенные тесты: 1
16.10.2013, 23:09 #5
Цитата Сообщение от slipp1 Посмотреть сообщение
"Любой конструктор класса, принимающий один параметр какого-либо другого типа, называется конструктором преобразования, поскольку он осуществляет преобразование из типа параметра в тип этого класса."
Мне кажется, что неточная формулировка. Надо добавить в конец ", если он не объявлен с ключевым словом explicit".

Цитата Сообщение от slipp1 Посмотреть сообщение
почему именно один параметр?
А сколько надо, чтобы неявно преобразовать один тип в другой? Ну может еще быть куча дефолтных параметров.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 23:09
Привет! Вот еще темы с ответами:

Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику - C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <windows.h> #include <math.h> #include <algorithm> using...

Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? - C++
Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно?

Конструктор производного класса требует конструктор предка - C++
Выдаёт вот такую вот ошибку: no matching function for call to 'Cube::Cube()' class Cube { protected: int magInt; bool...

Конструктор инициализации, конструктор копирования, деструктор - C++
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор инициализации, конструктор копирования, деструктор....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.10.2013, 23:09
Ответ Создать тему
Опции темы

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