永发信息网

c++的拷贝构造函数的多文件问题

答案:1  悬赏:60  手机版
解决时间 2021-08-22 16:11
定义一个类放在一个头文件中名字叫point.h,而把类的拷贝构造函数放在源文件point.cpp中,用#include "point.h"这个头文件放在main.cpp应用程序中,请问只包含这个头文件,在程序中如果实现拷贝构造函数,能不能实现,因为类的拷贝构造函数的实现放在point.cpp中,请说下原因???
最佳答案

这个是可以的。


你要注意头文件的作用,它的存在主要就是为了代码分离,实现核心代码隐藏。也就是说使用的时候只需要包含.h文件就行,系统知道该如何找到对应的函数实现。


要注意的是头文件只是一个接口,与cpp可以是一对一、一对多、多对一、多对多的关系。


举个例子


aaa.cpp内容如下:


--------------------------------------------


#include <iostream>
using namespace std;
void go1()
{
cout << 1 << endl;
}



bbb.cpp内容如下:


-----------------------------------------


#include <iostream>
using namespace std;
void go1()
{
cout << 1 << endl;
}




ccc.h内容如下:


---------------------------------


void go1();


void go2();




main.cpp内容如下:


--------------------------------


#include "ccc.h"
int main()
{
go1();
go2();
return 0;
}



以上四个文件,这样相互组合能不能运行呢?


答案是肯定的。


这个例子足以证明:


.h与.cpp没有名称和数量上的关联,也就是说,在这个工程里的所有cpp函数,都可以通过一个或者若干个头文件传递给main函数。


.h文件所要做的,仅仅是把各个函数的声明收集起来,在被main.cpp或者其他的cpp包含即可,至于其内的各个函数到底在什么位置,是没有必要关心的。同样,你可以把所有的函数写到一个cpp中,而用多个头文件进行分割,原理是相同的。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鹧鸪天古诗词鉴赏,鹧鸪天送人古诗词是什么?&#
头天晚上跟媳妇连续做了2次,然后睡觉又做春
兰博基尼盖拉多的详细资料
托人办事怎么说,托人办事说什么? 20分
如何写关于工作责任心的文章
如何知道手机QQ好友下线的时间
空间自定义皮肤怎么才能全屏显示
隆回县上海永久自行车电动车(邵阳代理)在什么
鸡蛋清发黄是什么原因,蛋清要打成什么程度才
为什么很多网络红人的名字前都有一个相同的符
广告<90后李宁>中呐个篮球明星是谁啊
怎么使用密闭式吸痰管,喉咙里面有血痰是怎么
1+1等于几a
教育机构安全标语,赠学校锦旗用语大全
怎样最快提高口才等级
推荐资讯
破碎的玉石哪里可以打出来
学生应该买什么样的山地车?
有谁能买到包头到阜新的火车票?
tara里谁的人气最高,是孝敏还是智妍?还是其他
丹阳离盐城多少公里,盐城到南京有多远
沅江市益阳365夜宵地址在哪里啊
同江市佳木斯利民大药房地址是什么,有没有知
作为高三新生,可以休学半年吗?然后和我同级
辞职一个月公司招不到人不让走怎么办?找的下
工地安全横幅标语大全,工地施工标语
笑话剧老爷升堂现在正在那个播出
有谁知道哪个网站有黑执事的电脑主题包和QQ表
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?