Simulink 모델을 기반으로 실시간 워크샵에서 만든 C 모듈이 있습니다. outputarray의 내용을 바탕으로C 함수에 대해 OO 스타일 인터페이스를 모델링하는 방법은 무엇입니까?
이int init();
int calc(double *inputarray, double *outputarray);
int term();
, 내가 OutputThing라는 클래스를 모델링 할 수있다 : 이 모듈은 세 가지 공공 기능을 제공합니다.
이러한 함수를 WrapperModule이라는 래퍼 클래스에 통합하려고합니다. 는 지금은 다음과 같습니다 클래스가 있습니다
class WrapperModule {
public:
int initialize();
OutputThing calc(...);
int terminate();
};
내 문제가 제대로 CALC() 함수에 대한 래퍼 방법을 설계하는 방법이다. 을 사용하여 배열/벡터를 단일 인수로 사용하여 메서드를 만드는 것을 피하고 싶습니다. 그러나 벡터에서 올바른 인수 인 을 식별하는 것은 까다 롭습니다. 6 개 이상의 인수가있는 메소드를 사용한다는 생각을 싫어합니다.
버트 랜드 마이어 (Bertrand Meyer)는 OOSC 서적에서 세터 (setter) 방법의 사용을 제안합니다. 다음과 같음 :
class WrapperModule {
public:
int initialize();
void set_foo(double f);
void set_bar(double b);
OutputThing calc();
int terminate();
};
아이디어가 있으십니까? 어떤 접근 방식이 더 좋을지 모르겠습니다.
내 대답은 init()이 일회성 초기화 함수이고 term()이 일회 종료 함수이며 init()과 term 사이에서 calc()를 여러 번 호출 할 수 있다고 가정합니다.(). 이 올바른지? –