c++ - C++中的继承语法

标签 c++ oop inheritance

我理解 C++ 中的继承语法:

class DerivedClassName : public BaseClassName {}

然而,在一个程序中我发现了这样一个字符串:

class ComplexNumberTest : public CppUnit::TestCase {

我不明白这是什么意思。很明显 ComplexNumberTestCppUnit 的子类,但是 TestCase 做了什么?

我认为 CppUnit::TestCase 意味着 CppUnit 类的 TestCase 方法,但是 DerivedClassName 应该是一个方法的子类?

有人可以帮我吗?

最佳答案

CppUnit是命名空间,ComplexNumberTest是CppUnit命名空间派生的TestCase类。

在您的代码中,您以这种方式拥有 TestCase:

namespace CppUnit
{
  class TestCase
  {
    // blah blah
  };
}

或者 TestCase 可以是 CppUnit 中的嵌套类(类型),具有公共(public)访问权限(感谢 PeterWood)

class CppUnit
{
public:
  class TestCase
  {
    // blah blah
  };
};

class ComplexNumberTest : public CppUnit::TestCase
{
   // also blah
};

关于c++ - C++中的继承语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333694/

相关文章:

c++ - 当 C++ 全局变量未显式初始化时发出警告?

java - ArrayList中对象属性值出现的频率

flutter - 在 DART 中 - toList() 方法不会将 int 的 Iterable 转换为列表,但是当它应用于 print() 内部时,它可以正常工作。为什么?

php - 如何从继承的方法中获取派生类的路径?

oop - 是否可以从 Golang 中的父结构调用覆盖的方法?

c++ - 在不更改基类的情况下将一个派生类转换为另一个派生类

c++ - 引用堆栈对象的地址

c++ - 用字符串及其大小折叠表达式

c++ - Pig Latin - 字符串

c++ - 好的设计可以完全避免强制转换吗?