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

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

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

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

03.11.2012, 13:08. Просмотров 242. Ответов 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++
Определить оптимальный подбор банкнот для выдачи задаваемой суммы в рублях для банкомата (купюры -1000, 5000, 10000, 20000, 50000)....

Конструкторы для работы с матрицами - C++
Доброго времени суток, многоуважаемые форумчане. Ситуация такая: преподаватель дал задание - создать класс матриц, НО предварительно...

Конструкторы не разрешены для создаваемого типа - C++
Вот эта программа даже не компилируется: #ifndef STACK_H #define STACK_H class Stack{ private: int stack; int tail;

Конструкторы и деструкторы для класса с указателями на строку - C++
Добрый день! Привожу фрагмент кода ниже. Появилось пару вопросов по коду. Подскажите, плиз Что значит в new strCount(s) указатель в...

Ошибка "конструкторы не разрешены для возвращаемого типа" - C++
Создаю класс: class main_ { public: main_(); ~main_(); } за классом пишу: main_::main_() {

конструкторы - C++
Есть 2 проблемы: 1) Сказали сделать 2 конструктора: один по умолчанию, а другой-с параметрами. Какие должны быть параметры в моем...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 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
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
03.11.2012, 13:51     Конструкторы для реинициализации #4
Ну, как бы, это половые проблемы особенность Visual Studio, что она не следует стандарту в данном пункте. Так что «вполне работоспособен» заменяйте на «вполне работоспособен в Студии».

Добавлено через 8 минут
Если что... я посмотрел, и что-то не нашёл ни пункта, требующего так делать, ни запрещающего тоже.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2012, 14:07     Конструкторы для реинициализации
Еще ссылки по теме:

Конструкторы класса в С++ - C++
В классе я объявил два конструктора: Node( int Depth = 0, string FunctionName = &quot;NULL&quot;, double TimerTime = 0.0 ) : id( Depth,...

Конструкторы и деструктор - C++
В общем, пишу прогу на классы. Уже написал (суть в том чтобы вывести значения диагоналей, периметра и площади ромба), но не заметил что...

Конструкторы классов - C++
Помогите разобраться с классами, не пойму как мне сделать правильно конструкторы класса Application,выдвёт ошибки в его конструкторе,...

Конструкторы в классе - C++
Не пойму, как работает наследование. Конструкторы не наследуются, а при вызове конструктора дочернего класса конструкторы...

Конструкторы в классах - C++
Здравствуйте уважаемые форумчане! Прошу Вас помочь мне уяснить работу конструкторов в классах! А точнее что нужно сделать что бы...

Классы, конструкторы - C++
В понедельник последний день сдачи лабы. На выбор сделать одну из них: №1 Делать через классы и конструкторы. С использованием...


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

Или воспользуйтесь поиском по форуму:
soon
2540 / 1305 / 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     Конструкторы для реинициализации
Ответ Создать тему
Опции темы

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