Пожалуйста, не пинайте :( не понимаю вот чего :
#include <iostream>
using namespace std;
class A
{
public:
A(){i = 0; cerr << " A(0) ";}
A(int b){i = b;cerr << " A(" << i << ") ";}
~A(){cerr << " ~A(" << i << ")\n";}
A (const A& b) {i = b.i;cerr << "copy(" << i << ") ";}
bool operator==(const A& a){return i == a.i;}
const A &operator=( const A &r )
{
if( *this == r )
{
cerr << " ravni ";
}
else
{
i = r.i;
cerr << " =(" << i << ") ";
}
return *this;
}
void f(){cerr << " f(" << i << ") ";}
void set(const int &b){i = b; cerr << " set(" << i << ") ";}
private:
int i;
};
A func()
{
A oder(6);
return oder;
}
int main()
{
A b = func();
b.f();
return 0;
}
rezalt :
A(6) f(6) ~A(6)
А я думал что при return'е в func oder копируется
с помощью копирования(выведется copy(6) ) и уничтожится как
переменная у которой закончилось время жизни ...
А тут получается что oder и b это один и тот же объект?
Объясните пожалуйста.

Ответ на:
комментарий
от Flogger_d
Ответ на:
комментарий
от Flogger_d
Ответ на:
комментарий
от Flogger_d
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум C++ (2005)
- Форум C++ (2005)
- Форум boost.asio, boost.serialization (2010)
- Форум Logger on C++ ... вроде все правильно ... (2005)
- Форум pthread C++ (2004)
- Форум При передаче константного объекта по ссылке в функцию, в теле функции не возможно брать из него данные (2018)
- Форум Реализуйте класс SharedPtr (2014)
- Форум Реализация полиморфизма (2006)
- Форум Продолжим про исключения!! (2007)
- Форум Перегруза оператора умножения (2011)