1
원본 코드를 건드리지 않고 테스트 컨텍스트에서 일부 개인 멤버 변수에 액세스하는 "깨끗한"방법을 찾고 있습니다. 우정 관계를 테스트 클래스와 구현하려고 생각했지만 어떤 이유로 작동하지 않기 위해 접근자를 필요로한다는 것을 이해하지 못합니다. 왜 그렇게되는거야? private 멤버 변수에 액세스하는 다른 방법이 있습니까?테스트에서 우정 사용하기
class A
{
protected: // this works
// private: // this DOES not work
int a;
};
class TestableA : public A
{
friend class TestA;
};
class TestA
{
void test()
{
m_a.a = 100;
}
TestableA m_a;
};
감사라는 좋은 표현이있다. 아이디어는 원래 코드를 수정하지 않는 것이었지만 다른 방법은없는 것 같습니다. – nyarlathotep108
동영상은이 문제에 관한 것입니다. 현재 클라운 플러그인으로 구현 된 클래스 외부의 친구를 추가하는 방법을 제안합니다. – Dutow