C++头文件中声明类的小问题

C++头文件中声明类的小问题,第1张

模板函数或者模板类的声明和实现不能分离,开发者不能在不同的文件内进行声明和实现的 *** 作

这个原因是多方面的,这条限制却梁拿是强制性的。

一种原因是模板类本质上都是抽象类,并不是真正的实体类,所以编译的时候并不具橡升搭备实体。一个典型的例证就是,当用户不对模板类或者模板函数进行使用的时候,即没有给笑磨出具体的类型实例的时候,编译后的目标文件中,并不会拥有模板类的任何信息。

正是因为如此,其实现必须放在声明里面,因为实现也是“声明”的一部分,整个都是一种“声明”

3个文件分别放置主函数、函数声明、函数实现蔽毕,其中主函数的源文件包含类蚂并脊的头文件,类的源文件需要包含类的头文件如:

主闷渗函数源文件:

#include "head.h"

#include <iostream>

using namespace std

int main()

{

A a

a.fun()

a.fun(100)

return 0

}

类的头文件:

// head.h

class A

{

public:

int fun()

}

类的源文件:

//head.cpp

#include "head.h"

int A::fun()

{

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8192940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存