关于C++类的重复定义问题
答案:3 悬赏:80 手机版
解决时间 2021-03-08 15:19
- 提问者网友:寂寞梧桐
- 2021-03-08 01:27
我编写了一个程序关于三角形,先是定义了一个点类point.h,又定义了一个三角形类triangle.h。而且在三角形里用了点类,主函数也包含了点类,编译时就重复定义了。我是初学者,求大神!
最佳答案
- 五星知识达人网友:风格不统一
- 2021-03-08 01:51
头文件开始 加上
#pragma once
#pragma once
全部回答
- 1楼网友:怙棘
- 2021-03-08 04:03
看你编译信息,你有2个文件,text_employee和employee,你这里面有重复定义?
建议你把使用的文件分别对应贴出来,问题肯定是你文件组织有问题,必要的编译开关等等。
- 2楼网友:患得患失的劫
- 2021-03-08 03:14
头文件可能被重复include,我们无法防止头文件被重复include,但可以保证头文件的内容不被重复include。需要使用预编译指令和宏,以point.h为例:
#ifndef POINT_H // 如果没定义POINT_H
#define POINT_H // 则定义POINT_H
class Point { // 则定义class
... ...
};
#endif 如果宏POINT_H 没被定义,则定义它并且定义class。当重复include这个头文件的时候,则第一句会检测到POINT_H 被定义了,就跳过class的定义,不会产生重复定义了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯