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

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

Войти
Регистрация
Восстановить пароль
 
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
#1

Конструкторы для реинициализации - C++

03.11.2012, 13:08. Просмотров 228. Ответов 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
25
26
27
28
29
30
#include "stdafx.h"
#include <iostream>
 
 
using namespace std;
 
class AAA
{
public:
    AAA(int x) : a(x)
    {
 
    }
    void show()
    {
        cout << "a = " << a << endl;
    }
private:
    int a;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    AAA p(3);
    p.show();
    p.AAA::AAA(5);
    p.show();
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 13:08     Конструкторы для реинициализации
Посмотрите здесь:

C++ Конструкторы классов
Опять конструкторы C++
Конструкторы и классы C++
C++ Конструкторы/декструкторы
C++ ооп. конструкторы.
Конструкторы. синтаксис C++
C++ Конструкторы и деструкторы. Определить оптимальный подбор банкнот для выдачи задаваемой суммы в рублях для банкомата
Ошибка "конструкторы не разрешены для возвращаемого типа" C++
Конструкторы не разрешены для создаваемого типа C++
C++ Конструкторы ООП С++
C++ Наследуются ли конструкторы?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.11.2012, 13:31     Конструкторы для реинициализации #2
Да ладно?
http://liveworkspace.org/code/bd16c2...4aea2b2c40f798
ramybozy
8 / 8 / 0
Регистрация: 01.07.2012
Сообщений: 138
03.11.2012, 13:40  [ТС]     Конструкторы для реинициализации #3
Вот чтобы я сдох, но в Visual Studio 2012 все работает и выдает
C++
1
2
a = 3
a = 5
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1240 / 989 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
03.11.2012, 13:51     Конструкторы для реинициализации #4
Ну, как бы, это половые проблемы особенность Visual Studio, что она не следует стандарту в данном пункте. Так что «вполне работоспособен» заменяйте на «вполне работоспособен в Студии».

Добавлено через 8 минут
Если что... я посмотрел, и что-то не нашёл ни пункта, требующего так делать, ни запрещающего тоже.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.11.2012, 14:07     Конструкторы для реинициализации #5
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Если что... я посмотрел, и что-то не нашёл ни пункта, требующего так делать, ни запрещающего тоже.
Как насчет 12.1.2?
Because constructors do not have names, they are never found during name lookup
На SO есть эта тема
http://stackoverflow.com/questions/1...nstruct-syntax
Там, кстати, тот-же параграф указан
Yandex
Объявления
03.11.2012, 14:07     Конструкторы для реинициализации
Ответ Создать тему
Опции темы

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