С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
1

Преобразование

24.09.2013, 23:46. Просмотров 316. Ответов 4
Метки нет (Все метки)

О каком преобразовании идет речь в строке 34, если конструктор принимает тип double и аргумент (10.0) записывается в double dReal?
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
//  TypeConversion - demonstrate the implicit conversion
//                   of one type to another
//
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Complex
{
  public:
    Complex() : dReal(0.0), dImag(0.0)
    { cout << "invoke default constructor" << endl;}
    /*explicit*/ Complex(double _dReal)
      : dReal(_dReal), dImag(0.0)
    { cout << "invoke real constructor " << dReal <<endl;}
    Complex(double _dReal, double _dImag)
      : dReal(_dReal), dImag(_dImag)
    {
        cout << "invoke complex constructor " << dReal
             << ", " << dImag << endl;
    }
 
    double dReal;
    double dImag;
};
 
int main(int argcs, char* pArgs[])
{
    Complex c1, c2(1.0), c3(1.0, 1.0);
 
    // constructor can be used to convert from one type
    // to another
    c1 = Complex(10.0);
 
    // the following conversions work even if explicit
    // is uncommented
    c1 = (Complex)20.0;
    c1 = static_cast<Complex>(30.0);
 
    // the following implicit conversions work if the
    // explicit is commented out
    c1 = 40.0;
    c1 = 50;
 
    system("PAUSE");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 23:46
Ответы с готовыми решениями:

Преобразование типа или преобразование типа указателя ?
Добрый день. Помогите пожалуйста понять что делает вот эта команда: out.write...

Преобразование
есть переменная чар. есть куча переменных типа инт. int a,b,c,d,e.. как...

Преобразование +'0'
Приветствую. Возможно кто-то сможет объяснить почему так получается : ) Нужно...

Преобразование С++
Не знаю как разрулить один ньюанс. Есть динамический массив симолов.(char...

преобразование
Господа как преобразовать из LPTSTR в - LPCTSTR

4
VEINHORN
543 / 92 / 49
Регистрация: 16.12.2011
Сообщений: 317
24.09.2013, 23:52 2
В этой строчке вызывается конструктор Complex() и присваивается c1. Видимо кто-то не то закомментировал или неясно это сделал.
0
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
24.09.2013, 23:54  [ТС] 3
MCKLAS, код коректный, вопрос в другом: о каком преобразовании идет речь?
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7092 / 3394 / 461
Регистрация: 04.12.2011
Сообщений: 9,446
Записей в блоге: 5
25.09.2013, 00:02 4
Erjay, конструктор с одним параметром типа отличного от типа класса работает при инициализации таким типом:
C++
1
A a = 10;
Тут как и при простом присваивании и происходит неявное преобразование. Как тут:
C++
1
2
3
double b;
int c = 3;
b = c;// int -> To double
1
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
25.09.2013, 00:05 5
Преобразуется число типа double в класс типа Complex, с мнимой частью 0. По сути это всего лишь конструктор, и никого преобразования в нем не происходит.
0
25.09.2013, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 00:05

Преобразование строки
Здраствуйте, У меня возник вопрос о том как решить мою представленную...

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

преобразование матрицы
провести преобразование матрицы А таким образом:положительные элементы заменить...


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

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

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