C++의 const 키워드에 관한 질문이 있습니다.헤더 파일에 const 개체 정의
Foot.h
class Foot
{
public:
Foot (bool isRightFoot);
const Vector internFootAxis;
const Vector externFootAxis;
bool isRightFoot;
private:
Body* body;
}
벡터 기본 R^3 벡터 연산을 구현하는 클래스입니다 : 나는 다음과 같은 클래스가 있습니다. internFootAxis는 발의 중심 (Body 객체로 표시됨 - 실제 객체를 나타내는 클래스)에서 발가락까지의 벡터를 나타냅니다. externFootAxis는 발 중앙에서 발가락까지가는 벡터를 나타냅니다.
internFootAxis 및 externFootAxis의 초기 값을 const로 지정하고 싶습니다 (벡터의 내부 상태를 변경하는 벡터에 그래픽 디스플레이 기본 루프의 각 반복마다 연산자를 적용하기 때문에). 불행히도, internFootAxis (t = 0) 및 externFootAxis (t = 0)의 값은 왼쪽 또는 오른쪽 발을 고려할 경우에 따라 달라 지므로 클래스 외부가 아닌 Foot 생성자에서 값을 선언해야합니다.
기술적으로는 나는 그것을 할 수있는 간단한 방법이 있나요 다음
Foot.cpp
Foot::Foot(bool isRightFoot)
{
body = new Body();
if (isRightFoot)
{
internFootAxis(1,1,0);
externFootAxis(1,-1,0);
}
else
{
internFootAxis(1,-1,0);
externFootAxis(1,1,0);
}
}
을하고 싶지? 도와 주셔서 감사합니다
V.
선택적 기능에 조건부 표현을 포장. – dyp
또는 난독 화가있는 경우 : '2 * isRightFoot - 1' (첫 번째 벡터의 두 번째 인수). –
본문은 또한 할당되지 않고 초기화되어야합니다., body (new Body()) –