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

new и delete - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в решении задачи "Судоку" (acmp) http://www.cyberforum.ru/cpp-beginners/thread923403.html
Здравствуйте. Судоку размера n называется квадрат со стороной n2, разделенный на n2 средних квадратов со стороной n, каждый из которых разделен на n2 маленьких квадратов. В каждом маленьком квадрате...
C++ Сравнить два int числа расположенных в char* строке Всем првиет. Имею проблему связанную с быстродействием. Нужно сравнить 2 строки на больше/меньше/равно. Каждый символ строки - число. строка строго 7 символов, т.е. 7 чисел. При приведении к int... http://www.cyberforum.ru/cpp-beginners/thread923400.html
C++ Неправельно работает конструктор(наверно)
Вот класс и вот конструктор думаю знающие люди разберутся я создаю 1 элемент класса точнее указатель first на элемент который будет головным элементом динамического списка... если запустите программу...
Перевести с QBasic на С++ C++
Добрый день.Имеется рабочий код на QBasic,хочу переписать его на C++.Пока не получается,требуется ваша помощь. CLS INPUT "ширина общ", x INPUT "шир1", a INPUT "шир2 ", b INPUT "шир3 ", c...
C++ Кольцевой буфер http://www.cyberforum.ru/cpp-beginners/thread923380.html
Здравствуйте, уважаемые пользователи. Мне поставили задачу, которую я один решить не могу и поэтому обращаюсь за помощью к вам. Итак, у нас есть файл и мне нужно отфильтровать его. Но он просто...
C++ Перемещение содержимого из одного байта в другой байт Здравствуйте все. Есть char A=3; char B=0; Как переместить физическое содержание битов из байта A в байт В, чтобы стало A=0 B=3; подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
15.07.2013, 17:31
Нет. Он будет считаться "сконструированным" (и для него будет вызван деструктор!), как только завершится первый конструктор. Вот пример кода: (компиль GCC 4.8)
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
49
50
51
52
53
54
55
56
#include <iostream>
#include <stdexcept>
using namespace std;
 
class Simple
{
    int value;
 
public:
    Simple(): value(0) { cout << "Simple default ctor" << endl; }
    Simple(int i): value(0) { cout << "Simple(int) ctor" << endl; throw runtime_error("some shit"); }
    ~Simple() { cout << "Simple dtor" << endl; }
};
 
class Test
{
    int value;
 
public:
    Test(): value(0) { cout << "Test default ctor" << endl; }
    Test(int i): Test() { cout << "Test(int) ctor" << endl; throw runtime_error("oooops!!!"); }
    ~Test() { cout << "Test dtor" << endl; }
};
 
int main()
{
    try
    {
        {
            Simple();
        }
        {
            Simple(1);
        }
    }
    catch(exception& ex)
    {
        cout << ex.what() << endl;
    }
    cout << endl;
 
    try
    {
        {
            Test();
        }
        {
            Test(1);
        }
    }
    catch(exception& ex)
    {
        cout << ex.what() << endl;
    }
    return 0;
}
Вывод:
Simple default ctor
Simple dtor
Simple(int) ctor
some shit

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