class Foo { protected: void bar(); }; ////// struct ???Foo??? : Foo { using Foo::bar; }; .... [TestMethod] void bar_Call_DontThrows() { ???Foo??? foo; foo.bar(); }