我正在浏览一个c ++代码并看到一个带有以下声明的头文件:
file a.h
class xyz;
但是该类没有在文件中的任何位置定义。我也写了一个代码,它完美编译好。只是想知道声明像这样的类有什么用,因为它不会强制程序员定义。
提前致谢!!
答案 0 :(得分:0)
这是一个类的前向声明。
您可以在头文件中使用xyz*
变量 - 链接器将在以后解析实际的类实现
答案 1 :(得分:0)
这是一个前向声明(或简称声明),它允许您在不需要完整定义的上下文中使用名称xyz
。
一个例子是当你有另一个包含指向xyz
:
class xyz;
class Aux
{
xyz* k;
};
其他用途是返回类型,参数类型和引用。