такой код:
class POP{
int x;
public:
POP(){
cout << "crete pop" << endl;
x =0;
}
POP(int){
cout << "crete pop and throw int" << endl;
x = -111;
//throw int();
}
POP(POP& x){
cout << " copy POPSS" << endl;
this->x = -333;
}
~POP(){
cout << "destroy pop: " << x << endl;
}
};
где-то в недрах:
POP spop(POP(2));
и собственно вопрос: где вызов POP(2)? (т.е почему вызывается POP(int), а не POP(int), затем POP(POP&), затем ~POP(2)?)
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от hello_world
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C++] [компиляторы] Множественное наследование (2011)
- Форум std::variant и двойной вызов деструктора (2021)
- Форум type cast или конструктор копирования? (2008)
- Форум 'this' in lambda and in class method is not the same when using vector of std::thread (2021)
- Форум Вопрос по С++ (2004)
- Форум вопрос по С++ (операторные функции) (2008)
- Форум не деструктятся шаред поинтеры (2012)
- Форум Виртуальный метод вызывается из реализации родителя, а не потомка (2014)
- Форум Валится на throw (2005)
- Форум Надо ли помечать объект, если использовал конструктор переноса. с++ (2021)