Rom*_*man 3 c++ oop inheritance
我理解C++中的继承语法:
class DerivedClassName : public BaseClassName {}
Run Code Online (Sandbox Code Playgroud)
但是,在一个程序中,我发现了一个类似的字符串:
class ComplexNumberTest : public CppUnit::TestCase {
Run Code Online (Sandbox Code Playgroud)
我不明白这意味着什么.很明显,它ComplexNumberTest是子类CppUnit但TestCase它们是什么?
我认为这CppUnit::TestCase意味着类的TestCase方法,CppUnit但那么DerivedClassName应该是方法的子类?
有人可以帮帮我吗?
CppUnit是名称空间,ComplexNumberTest是来自CppUnit名称空间的TestCase的派生类.
在您的代码中,您以这种方式拥有TestCase:
namespace CppUnit
{
class TestCase
{
// blah blah
};
}
Run Code Online (Sandbox Code Playgroud)
或者,TestCase可以是CppUnit中具有公共访问权限的嵌套类(类型)(感谢PeterWood)
class CppUnit
{
public:
class TestCase
{
// blah blah
};
};
class ComplexNumberTest : public CppUnit::TestCase
{
// also blah
};
Run Code Online (Sandbox Code Playgroud)