#include <iostream>
using namespace std;

class Circle {
	int radius;
public:
	Circle(){radius = 1;}
    Circle(int radius){ this->radius = radius;}
    void setRadius(int radius) { this -> radius = radius;}
    double getArea(){return 3.14*radius*radius; }
};

Circle getCircle() {
	circle tmp(30);
    return tmp;
}


int main() {
	Circle c;
    cout << c.getArea() << endl;
    
    c = getCircle();
    cout << c.getArea() << endl;
}

getCircle에서 생성한 tmp가 그대로 전달되는 것이 아닌 복사본이 전달된다고 한다.

정확하게 메모리 공간은 어떻게 되는지는 모르겠다/

+ Recent posts