这是什么意思:“类DATA_C data_container”

时间:2018-09-06 03:26:34

标签: c++

我是C ++的新手,在查看别人的代码时,遇到了一个我不理解的表达式。

在头文件中,我有一个普通的类定义:

//in data.hpp
class DATA_C : public QThread
{
   Q_OBJECT
   // the rest of class definition...
}

源文件的片段:

//in data.cpp
class DATA_C data_container;

我可以理解“ DATA_C数据”,这是一个声明;但是什么是“类DATA_C data_container”?它是做什么的?

谢谢。

1 个答案:

答案 0 :(得分:1)

在这种情况下,tt与DATA_C data_container;的含义完全相同。在许多情况下,如果仅使用class X是有效的,则可以选择使用术语X

通常,当尚未定义class X并且声明了该类(但未定义它)时,可以使用X。但是,如果先前没有定义class DATA_C data_container;,则不允许DATA_C,因为您不能实例化不完整类型的对象。