AP5_(1).cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <iostream> #include <string> using namespace std; class Matrix { int a1, a2, a3, a4; public: Matrix() {}; Matrix(int a1, int a2, int a3, int a4) { this->a1 = a1; this->a2 = a2; this->a3 = a3; this->a4 = a4; } void show() { cout << "Matrix = { " << a1 << ' ' << a2 << ' ' << a3 << ' ' << a4 << " }\n"; } Matrix operator+(Matrix b); Matrix operator+=(Matrix b); bool operator== (Matrix b); }; Matrix Matrix::operator+(Matrix b) { Matrix tmp = *this; tmp.a1 = this->a1 + b.a1; tmp.a2 = this->a2 + b.a2; tmp.a3 = this->a3 + b.a3; tmp.a4 = this->a4 + b.a4; return tmp; } Matrix Matrix::operator+=(Matrix b) { a1 += b.a1; a2 += b.a2; a3 += b.a3; a4 += b.a4; return *this; } bool Matrix::operator==(Matrix b) { if (a1 == b.a1&&a2 == b.a2&&a3 == b.a3&&a4 == b.a4) return true; else return false; } int main() { Matrix a(1, 2, 3, 4), b(2, 3, 4, 5), c; c = a + b; a += b; a.show(); b.show(); c.show(); if (a == c) cout << "a and c are the same" << '\n'; } | cs |
AP5_(2).cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <iostream> #include <string> using namespace std; class Matrix { int a1,a2,a3,a4; public: Matrix() {}; Matrix(int a1, int a2, int a3, int a4) { this->a1 = a1; this->a2 = a2; this->a3 = a3; this->a4 = a4; } void show() { cout << "Matrix = { " << a1 << ' ' << a2 << ' ' << a3 << ' ' << a4 << " }\n"; } friend Matrix operator+(Matrix a, Matrix b); friend Matrix operator+=(Matrix a, Matrix b); friend bool operator== (Matrix a, Matrix b); }; Matrix operator+(Matrix a, Matrix b) { Matrix tmp = a; tmp.a1 = a.a1 + b.a1; tmp.a2 = a.a2 + b.a2; tmp.a3 = a.a3 + b.a3; tmp.a4 = a.a4 + b.a4; return tmp; } Matrix operator+=(Matrix a, Matrix b) { a.a1 += b.a1; a.a2 += b.a2; a.a3 += b.a3; a.a4 += b.a4; return a; } bool operator==(Matrix a, Matrix b) { if (a.a1 == b.a1&&a.a2 == b.a2&&a.a3 == b.a3&&a.a4 == b.a4) return true; else return false; } int main() { Matrix a(1, 2, 3, 4), b(2, 3, 4, 5), c; c = a + b; a += b; a.show(); b.show(); c.show(); if (a == c) cout << "a and c are the same" << '\n'; } | cs |
'Programming > 명품 C++ Programming' 카테고리의 다른 글
| 명품 C++ Programming 실습문제 7장 7번 (0) | 2018.06.18 |
|---|---|
| 명품 C++ Programming 실습문제 7장 6번 (0) | 2018.06.18 |
| 명품 C++ Programming 실습문제 7장 4번 (0) | 2018.06.17 |
| 명품 C++ Programming 실습문제 7장 3번 (0) | 2018.06.17 |
| 명품 C++ Programming 실습문제 7장 2번 (0) | 2018.06.17 |