확인 그래서 메신저 확실하지 회피 내가 그렇게 입니다 이해 무엇 펑뿐만로부터 관련 질문은 :C++ 펑 사용, 코드 중복의 경우
class Matrix{
public:
Matrix(int, int); // constructor
Matrix(const Matrix&); // copy constructor
Matrix& operator+= (const Matrix&);
Matrix& operator-= (const Matrix&);
int* operator[] (int) const;
private:
int rows;
int cols;
int** Mat_p;
};
과 : 내가 다음 클래스가 있다고 가정 할 수 있습니다 Matrix 클래스에서 + = 및 - = 연산자를 오버로드하려고합니다.
Matrix& Matrix::operator+= (const Matrix& M){
for (int indexR = 0; indexR < rows; ++indexR)
for (int indexC = 0; indexC < cols; ++indexC)
Mat_p[indexR][indexC] += M[indexR][indexC];
}
Matrix& Matrix::operator-= (const Matrix& M){
for (int indexR = 0; indexR < rows; ++indexR)
for (int indexC = 0; indexC < cols; ++indexC)
Mat_p[indexR][indexC] -= M[indexR][indexC];
}
당신이 두 사업자 "를 볼 수 + =
지금,이 행렬 합계 또는 빼기 위해 우리는 어떤 일이 같은이 될 것입니다 두 행렬의 각 값을 반복하고 추가 정도 뺄 필요 "및"- = "은 동일한 구조 또는 줄기를 가지므로 기본"소위 "규칙 중 하나는 코드 중복을 피하는 것입니다.
질문은 우리가 어떻게이 중복을 피하고 코드를 효과적으로 유지할 수 있는지입니다.
이 작은 양의 코드 복제는 실제 문제가 아닙니다. – Brian
@ 브라이언 글쎄, 그래도 나는 그것을 피하고 싶습니다. (어떤 식 으로든 그냥 예를 들어 ...) –