Я пытаюсь думать о лучшем способе доступа к защищенной функции-члену из некоторого тестового кода на С++, вот моя проблема:
//in Foo.h
Class Foo
{
protected:
void DoSomething(Data data);
}
//in Blah.h
Class Blah
{
public:
Foo foo;
Data data;
};
//in test code...
Blah blah;
blah.foo.DoSomething(blah.data); // Here my problem!
Некоторые возможные решения:
Сделайте класс тестового кода другом Foo, но это загрязняет Foo с помощью тестового кода Сделать DoSomething общедоступной функцией Я посмотрел на создание тестовой оболочки для Foo, как указано в этом сообщении, однако это не сработает, поскольку Blah содержит экземпляр Foo.Все советы/понимание/мнения приветствуются!
Спасибо