-
명품 C++ 7장 9번C++ 2018. 11. 3. 14:22
9. 문제 8번의 Circle 객체의 다음 연산이 가능하도록 연산자를 구현하라.
소스코드
#include <iostream>using namespace std;class Circle {int radius;public:Circle(int radius = 0) { this->radius = radius; }void show() { cout << "radius = " << radius << " 인 원" << endl; }friend Circle operator+(int x, Circle op);};Circle operator+(int x, Circle op) {Circle tmp = op;tmp.radius= x + op.radius;return tmp;}int main() {Circle a(5), b(4);b = 1 + a; // b의 반지름을 a의 반지름에 1을 더한 것으로 변경a.show();b.show();}실행결과
1이 객체가 아니기 때문에 friend 를 이용하여 외부함수로 구현해야합니다.
'C++' 카테고리의 다른 글
명품 C++ 7장 11번 (0) 2018.11.03 명품 C++ 7장 10번 (0) 2018.11.03 명품 C++ 7장 8번 (0) 2018.11.03 명품 C++ 7장 7번 (0) 2018.11.03 명품 C++ 7장 6번 (0) 2018.11.03