전체 글330 사용자 정의 리터럴 #include #include using namespace std; class Length{private: const long double _value; Length(long double value) : _value(value) { } friend Length operator"" _m(unsigned long long value); friend Length operator"" _m(long double value); friend Length operator"" _km(unsigned long long value); friend Length operator"" _km(long double value); friend Length operator"" _mm(unsigned long long value); f.. 2020. 11. 23. 호출 연산자 오버로딩, 함수 객체 #include #include #include using namespace std; class Max{public: int operator()(int x, int y) { return max(x, y); }}; class AccMax{private: // 일반 함수와는 다르게 상태를 저장할 수 있다 int _max = numeric_limits::min(); public: int operator()(int x) { return _max = max(x, _max); }}; struct Average{private: double _total = 0; int _times = 0; public: double operator()(double value) { _times += 1; _total += value; .. 2020. 11. 23. 변환 연산자 오버로딩, 변환 생성자 #pragma warning(disable: 4996)#include using namespace std; class String{private: char* _chars; public: /* explicit */ String(const char* chars) // explicit 를 사용하지 않으면 암시적으로 형변환이 된다. : _chars(new char[strlen(chars) + 1]) { strcpy(_chars, chars); } /* explicit */ String(const char* s0, const char* s1) : _chars(new char[strlen(s0) + strlen(s1) + 1]) { _chars[0] = '\0'; strcat(_chars, s0); strcat(_.. 2020. 11. 23. 대입 연산자 오버로딩, 복사 생성자 #include #include "BadPerson.h"#include "GoodPerson.h" using namespace std; int func(int x){ return x; // 복사} int main(){ int a = 1; int b = a; // 복사 생성자 a = b; // 대입 연산자 func(a); // 복사 //BadPerson badPerson0{ 46.f, 153.f, "David Daehee Kim" }; //BadPerson badPerson1 = badPerson0; //BadPerson badPerson2; //badPerson2 = badPerson0; //badPerson0.print(); //badPerson1.print(); //badPerson2.print();.. 2020. 11. 23. 첨자 연산자 오버로딩 #include #include "Vector.h"#include "String.h"#include "HashTable.h" using namespace std; int main(){ Vector v{ 1, 2, 3 }; cout 2020. 11. 23. 비트 연산자 오버로딩 #include #include using namespace std; class Vector{private: int x; int y; int z; public: Vector() { } Vector(int x, int y, int z) :x(x), y(y), z(z) { } friend ostream& operator 2020. 11. 23. 이전 1 ··· 21 22 23 24 25 26 27 ··· 55 다음