#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;
}