728x90
#include<iostream>
using namespace std;
class Matrix {
int arr[4];
public:
Matrix() { ; }
Matrix(int a, int b, int c, int d) { arr[0] = a; arr[1] = b; arr[2] = c; arr[3] = d; }
void show();
void operator>> (int x[]);
void operator<< (int y[]);
};
void Matrix::show() {
cout << "Matrix" << " = { ";
for (int i = 0; i < 4; i++) cout << this->arr[i] << ' ';
cout << "}" << endl;
}
void Matrix::operator>> (int x[]) {
for (int i = 0; i < 4; i++) {
x[i] = this->arr[i];
}
}
void Matrix::operator<< (int y[]) {
for (int i = 0; i < 4; i++) {
this->arr[i] = y[i];
}
}
int main() {
cout << "2018305065 전유정" << endl << endl;
Matrix a(4, 3, 2, 1), b;
int x[4], y[4] = { 1,2,3,4 }; // 2차원 행렬의 4 개의 원소 값
a >> x; // a의 각 원소를 배열 x에 복사. x[]는 {4,3,2,1}
b << y; // 배열 y의 원소 값을 b의 각 원소에 설정
for (int i = 0; i < 4; i++) cout << x[i] << ' '; // x[] 출력
cout << endl;
b.show();
}
#include<iostream>
using namespace std;
class Matrix {
int arr[4];
public:
Matrix() { ; }
Matrix(int a, int b, int c, int d) { arr[0] = a; arr[1] = b; arr[2] = c; arr[3] = d; }
void show();
friend void operator>> (Matrix& a, int x[]);
friend void operator<< (Matrix& b, int y[]);
};
void Matrix::show() {
cout << "Matrix" << " = { ";
for (int i = 0; i < 4; i++) cout << this->arr[i] << ' ';
cout << "}" << endl;
}
void operator>> (Matrix& a, int x[]) {
for (int i = 0; i < 4; i++) {
x[i] = a.arr[i];
}
}
void operator<< (Matrix& b, int y[]) {
for (int i = 0; i < 4; i++) {
b.arr[i] = y[i];
}
}
int main() {
cout << "2018305065 전유정" << endl << endl;
Matrix a(4, 3, 2, 1), b;
int x[4], y[4] = { 1,2,3,4 }; // 2차원 행렬의 4 개의 원소 값
a >> x; // a의 각 원소를 배열 x에 복사. x[]는 {4,3,2,1}
b << y; // 배열 y의 원소 값을 b의 각 원소에 설정
for (int i = 0; i < 4; i++) cout << x[i] << ' '; // x[] 출력
cout << endl;
b.show();
}
반응형
'전공 공부 > C++' 카테고리의 다른 글
클래스 NameCircle (상속, 파생 클래스와 생성자 작성) (0) | 2021.06.07 |
---|---|
클래스 Circle (프렌드 함수로 연산자 구현) (0) | 2021.06.07 |
클래스 Point (ColorPoint 상속) (0) | 2021.06.06 |
클래스 Book < 연산자 구현 (0) | 2021.06.06 |
클래스 Book ! 연산자 구현 (0) | 2021.06.06 |