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

explicit конструктор и перегрузки в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение позиции начала в строке s слова с номером n http://www.cyberforum.ru/cpp-beginners/thread947836.html
mojete po komentirovat' kajduiu stroku i obyasnit chto dlya chego i chto, ya primerno ponimaiu, no ya ne ponimaiu chto znachit' src, str i (src - ptr) + 1?? spasibo zaranie!!! #include...
C++ Генератор объектов классов Как написать такой генератор? Есть класс Base в котором есть ЧИСТАЯ виртуальная функция Show () и поле UINT num class Base { UINT num; public: virtual void Show () = 0; }; http://www.cyberforum.ru/cpp-beginners/thread947829.html
C++ Сформировать динамический список, считая, что длина списка (количество элементов) задана
Описать функцию, которая вставляет в список Long за первым вхождением элемента I, значение которого введено с клавиатуры, все элементы списка Short, если I входит в Long. Помогите, пожалуйста!
C++ синтаксическая ошибка
Где здесь ошибка? #include <iostream> #include <iterator> #include <algorithm> #include <vector> using namespace std; template<typename T> class Sum{
C++ добавление структуры после определенной структуры в бинарном файле http://www.cyberforum.ru/cpp-beginners/thread947793.html
Доброго времени суток. собственно задание: Запрограммировать информационную систему со следующими параметрами: Логическая структура: набор записей. Запись содержит минимум 3 поля. Поля должны...
C++ Пример с книги, ругается на istream и ostream Создание класса массива с перезагрузкой операций, ругается на istream и ostream. Переписал все с книги, но VS2010 не компилит. Array.h #include <iostream> #ifndef ARRAY_H #define ARRAY_H... подробнее

Показать сообщение отдельно
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1

explicit конструктор и перегрузки в классе - C++

03.09.2013, 18:07. Просмотров 609. Ответов 4
Метки (Все метки)

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
class Test {
public:
    Test ()                    { printf("Simple constructor\n"); }
    Test (long)                { printf("Long\n"); }
    explicit Test (int)        { printf("Integer\n"); }
    Test (const Test&)            { printf("Copy operation\n"); }
    Test  &operator=(const Test&) { printf("= Operation\n"); return *this; }
};
 
void printt(int n)
{
   cout << n << ": ";
}
int main()
{
   const int i = 0;
   printt(1); Test t1();
   printt(2); Test  t2 = i;
   printt(3); Test  t3(i);
   printt(4); Test  t4 = Test(i);
   printt(5); Test  t5 = (Test) i;
   printt(6); Test  t6 = static_cast<Test>(i);
   return 0;
}
что получаем:

1: 2: Long
3: Integer
4: Integer
5: Integer
6: Integer


почему не

1: Integer
2: Integer
3: Integer
4: Integer
5: Integer
6: Integer
в виду того же explicit'a
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.