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

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

Войти
Регистрация
Восстановить пароль
 
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
#1

Стили приведения типов - C++

24.09.2013, 23:24. Просмотров 300. Ответов 1
Метки нет (Все метки)

Строка 38: что за странное объявление? Обычно аргументы заключаются в скобки.
Строка 39: что за static_cast и последующий <Complex>? Как это понять?
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 23:24     Стили приведения типов
Посмотрите здесь:

Перегрузка операторов приведения типов - C++
Доброго времени суток! Возник вопрос по перегрузке оператора преобразования типа const char*. Вот пример: class Integer { public: ...

Двумерный массив - ошибка приведения типов - C++
Приветсвую. Столкнулся с такой проблемой, точнее не с проблемой а с вопросом. допустим: имеется функция Function; void Function( double...

Исправьте ошибку C2664 приведения типов - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; using namespace std; void statistics(char...

Ошибка приведения типов в MSVS 2008 - C++
for (AuraEffectList::const_iterator i......... ............. if (i==((AuraEffectList::const_iterator)NULL)) в линуксе компилируется...

Почему следует избегать явного приведения типов? (по возможности) - C++
Почему следует избегать явного приведения типов? (по возможности)

Используя перегрузку, написать функцию для выполнения приведения типов - C++
Используя перегрузку, написать функцию для выполнения, приведения типов, для следующих типов данных float, int, double, long.

Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов. - C++
Буду благодарен! Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.

Неявные приведения в операциях - C++
В умной книжке написано, что в арифметических выражениях все операнды приводятся к одному типу, если это возможно, пример: int a = 5;...

Приведения типа классов - C++
#include &lt;iostream&gt; class Number2; class Number { public: int i; Number(int ii = 0) : i(ii) {} Number(const...

Отличие способов приведения - C++
Есть ли отличия между (int) и static_cast&lt;int&gt;?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
24.09.2013, 23:32     Стили приведения типов #2
Это C и C++ стили приведения типов.
Ответ Создать тему
Опции темы

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