Здравствуйте! Несколько запутался после C#.
Помогите разобраться в следующих вопросах:
1) Сколько тут объектов Counter к концу программы?
2) При
++c1
создаётся объект?
3) Если присваивания
++c1
нет, как этот объект уничтожить?
4)
с2 = ++с1
— что тут происходит с объектами?
// countpp2.cpp
// операция ++, возвращающий значение
#include <iostream>
using namespace std;
///////////////////////////////////////////////////////////
class Counter
{
private:
unsigned int count;
public:
Counter ( ) : count ( 0 )
{ }
unsigned int get_count ( )
{ return count; }
Counter operator++ ( )
{
++count;
Counter temp;
temp.count = count;
return temp;
}
};
///////////////////////////////////////////////////////////
int main ( )
{
Counter c1, c2; // определяем переменные
cout << "\nc1 = " << c1.get_count ( ); // выводим на экран
cout << "\nc2 = " << c2.get_count ( );
++c1; // увеличиваем c1
c2 = ++c1; // c1=2, c2=2
cout << "\nc1 = " << c1.get_count ( ); // снова показываем значения
cout << "\nc2 = " << c2.get_count ( ) << endl;
return 0;
}