반응형
    
    
    
  Operator
int +
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class addOperator{
private:
	int a = 1;
public:
	addOperator() {};
	~addOperator() {};
	void getnum() {
		cout << this->a << endl;
	}
	addOperator& operator+(const addOperator &ad) {
		/*
		이때는 addOperator에서 &빼고.
		addOperator temp;
		temp.a = this->a + ad.a;
		return temp;
		*/
		this->a += ad.a;
		return *this;
	}
	addOperator operator-(const addOperator &ad) {
		addOperator temp;
		temp.a = this->a - ad.a;
		return temp;
	}
};
int main(int argc, char* argv[]){
	addOperator temp1, temp2;
	(temp1 + temp2).getnum();
	return 0;
}
String +
#include <iostream>
#include <string>
using namespace std;
class stringOperator {
private:
	string m_string;
public:
	stringOperator() {};
	stringOperator(const string &_string) {
		this->m_string = _string;
	};
	~stringOperator() {};
	void printString() {
		cout << this->m_string << endl;
	}
	stringOperator& operator+(const stringOperator &s) {
		this->m_string += s.m_string;
		return *this;
	}
};
int main(int argc, char* argv[]) {
	string st1 = "hellow";
	string st2 = " world!";
	stringOperator *string1 = new stringOperator(st1);
	stringOperator *string2 = new stringOperator(st2);
	(*string1 + *string2).printString();
	delete string1;
	delete string2;
	return 0;
}
반응형
    
    
    
  'Language > C++' 카테고리의 다른 글
| c++ malloc new 차이점? (0) | 2019.01.26 | 
|---|---|
| c++ thread, mutex, atomic (0) | 2019.01.11 | 
| c++ vector capacity (0) | 2019.01.08 | 
 
						