7.8> 문제 7번의 Circle 객체에 대해 다음 연산이 가능하도록 연산자를 구현하라.
<코드>
#include <iostream>
using namespace std;
class Circle{ private: int radius; public: Circle(int radius=0){this->radius=radius;} void show(){cout<<"radius = "<<radius<<"인 원"<<endl;} friend Circle operator++(Circle &c); friend Circle operator++(Circle &c,int a); friend Circle operator+(int a,Circle c); };
Circle operator++(Circle &c){ //전위 증가 c.radius++; return c;
} Circle operator++(Circle &c,int a){ //후위 증가 Circle tmp=c; c.radius++; return tmp; }
Circle operator+(int a,Circle c){ // 정수+객체 오퍼레이터 Circle tmp; tmp.radius=a+c.radius; return tmp; }
int main(void){ Circle a(5), b(4); b=1+a; a.show(); b.show(); return 0; }
|
<결과창>
|
'컴퓨터 & 프로그래밍 & 전자공학 > C++' 카테고리의 다른 글
Stack class (0) | 2017.12.25 |
---|---|
Statistics class (0) | 2017.12.25 |
Circle class (0) | 2017.12.25 |
Matrix class 활용, 연산자 오버로딩 (0) | 2017.12.25 |
Matrix class (0) | 2017.12.25 |