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

}

1、不能,好像没见过。对象是动态创建的,不可能知道相关类型信息(高版本的C#、.Net动态库好像可以有类型相关信息)

2、其实你可以用LIB(有头文件支持)

3、要么只能使用组件式开发了。

4、期待有更好的答案。。。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存