본문 바로가기

IT 관련자료/C++

익명객체


#include <iostream>

using namespace std;

class A
{
public:

	int _value;

	A(const int& input)
		:_value(input)
	{
		cout << "constructor" << endl;
		cout << this << endl;
	}

	~A()
	{
		cout << "Destructor" << endl;
	}

	void print()
	{
		cout << _value << endl;
	}

	void printdouble()
	{
		cout << _value *2 << endl;
	}
};


class Cents
{
private:
	int _cents;


public:
	Cents(int cents) { _cents = cents; }

	int getCents() const { return _cents; }
};

Cents add(const Cents& c1, const Cents& c2)
{
	return Cents(c1.getCents() + c2.getCents());
}

int main()
{
	cout << add(Cents(6), Cents(8)).getCents() << endl;

	//보통은 이렇게 a같은 변수를 만들어주고 사용
	A a(1);
	a.print();
	a.printdouble();

	cout << "=============" << endl;

	A(2).print();
	A(4).print();

	return 0;
}