跪求大神解答头文件问题

停留的我 2012-06-25 04:06:10
头文件SeqArrary.h

#pragma once
#ifndef CLASS_SWQARRAY_DECLARE
#define CLASS_SWQARRAY_DECLARE
const int MAX=100;
template <class Type> class SeqArrary
{
public:
SeqArrary(void)
{
size=0;
}
public:
~SeqArrary(void){}

public:
Type Data[MAX];
int size;
public:
int push_back(Type t)
{
Data[++size]=t;
return size;
}
};
#endif


源程序SeqArrary.cpp

#include "SeqArrary.h"


想问一下,为什么不只写一个头文件?这个SeqArrary.cpp中也没有什么东西啊 它存在的意义是什么呢?
求大神解答!!!
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
因为这个类是一个泛型,需要模板参数,所以类所有的实现必需在.h中,而不能放在.cpp中。(关于这个问题有一些讨论,我不知道现在的标准或者实现是否还有这个要求,但是按照这个要求做的代码可以保证没问题)。

关于.cpp中只是include了头文件,这是因为如果生成库,需要用源文件做编译单元,然后进行链接。参考http://zhidao.baidu.com/question/184316793.html


Jackie_Zhu 2012-07-01
  • 打赏
  • 举报
回复
一般情况下,.h里是放声明,.cpp里是放定义,上面的代码中把定义放在了.h中


第二个问题 :是
停留的我 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

当大神的能力还么有啊!!!嘿嘿——
[/Quote]

那你回复这么一句干嘛……
闲谈共视 2012-06-26
  • 打赏
  • 举报
回复
当大神的能力还么有啊!!!嘿嘿——
停留的我 2012-06-26
  • 打赏
  • 举报
回复
肿么没有大神回答我!!!!!
停留的我 2012-06-25
  • 打赏
  • 举报
回复
还有就是Type Data[MAX];是不是就是说Data数组的类型是Type型的?

int push_back(Type t)
{
Data[++size]=t;
return size;
}

这个函数是什么意思?

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧