첫째, 최신 코딩은 Java이고 "Java를 C++로 작성"하고 싶지 않습니다.자바 최종 회원 데이터에 해당하는 C++
여기 거래가 있습니다. 불변의 클래스를 만들어야합니다. 그것은 매우 간단합니다. 유일한 문제는 초기 값을 얻는 것이 약간의 작업이라는 것입니다. 그래서 단순히 초기화를 호출하여 내 멤버를 초기화 할 수 없습니다.
그런 클래스를 만드는 가장 좋은 방법은 무엇입니까? C++ 표준에서 변경 불가능한/최종 속성을 외부 세계에 어떻게 노출시킬 수 있습니까? 당신은 그것을 모방해야 아무도 없다
class Msg {
private:
int _rec_num;
int _seq;
string text;
public:
Msg(const char* buffer) {
// parse the buffer and get our member here...
// ... lots of code
}
// does this look like proper C++?
int get_rec_num() { return _rec_num; }
};
실제로 그것은 "const int get_rec_num() const ..."이어야합니다. - Hassan Syed –
내장 유형의 경우 상수 값과 같은 것이 없기 때문에 차이가 없습니다. 리턴 타입이'int' 또는'const int'인지 상관없이'get_rec_num() = 7'을 쓸 수 없다. – fredoverflow