나는 전략 패턴의 좋은 예를 웹에서 살펴 봤지만 예제는 단순화되었습니다.전략 패턴 이해
MyMatrix 클래스를 구현하고 싶습니다. 이 경우 전략 패턴을 사용합니다. 즉 Matrix 클래스를 만들고 두 개의 상속 클래스 인 RegMatrix와 SparseMatrix를 구현 방식이 다릅니다.
MyMatrix가 Matrix (* _matrix라고 함)에 대한 포인터를 보유해야한다는 것을 알고 있고, 예를 들어 MyMatrix의 "print"함수를 구현하려면 다음을 수행해야합니다. _matrix-> print() 적절한 구현을 선택합니다.
내가 이해하지 못하는 것은 배열 및 매트릭스 크기를 가져 오는 MyMatrix의 생성자에서 Matrix의 특정 객체를 선택하여 초기화해야합니까? I는 I 이렇게해야 의미 :
MyMatrix::MyMatrix(double arr[], unsigned int colSize, unsigned int rowSize)
{
_colSize = colSize;
_rowSize = rowSize;
_matrix = new RegMatrix(arr, colSize, rowSize);
}
전역 네임 스페이스와 다양한 이름의 호스트에 이어지는 밑줄이 있으므로 언더 스코어 접두사를 사용하는 것보다 밑줄 접미사를 사용하는 것이 안전합니다 –