C++Word文档下载推荐.docx
《C++Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
template<
类型形参表>
class 类模板名
{
private:
私有成员定义
protected:
保护成员定义
public:
共有成员定义
};
1.类模板的使用方法:
(1)给出类模板的定义体。
(2)在适当的位置创建一个模板实例,即一个实实在在的类定义,同时创建该模板的类对象。
(3)有了对象名,其以后的使用就和普通类对象的使用一致。
沈阳理工大学
沈阳理工大学课程设计专用纸No.3
二、概要设计:
定义类模板:
template<
classt>
classarray
定义成员函数getnum()(输入函数)
voidarray<
t>
:
getnum()
定义成员函数Pushback(intn)(追加,输出函数)
Pushback(intn)
主函数
由模板生成对象arr
array<
int>
arr;
调用函数getnum(),Pushback(0)。
arr.getnum();
arr.Pushback(0);
沈阳理工大学课程设计专用纸No.4
三、详细设计:
程序源代码记注释:
#include<
iostream.h>
constintMax=50;
//定义类模板
inta[Max];
//定义数组
intx;
voidgetnum();
voidPushback(intn);
getnum()//定义成员函数getnum
for(inti=0;
i<
Max;
i++)//循环Max次
a[i]=0;
沈阳理工大学课程设计专用纸No.5
cout<
<
"
输入数组中数的总数:
endl;
cin>
>
x;
for(i=0;
i++)
{
cout<
输入第"
i+1<
个数:
cin>
a[i];
}
数组为:
;
}
Pushback(intn)//定义成员函数Pushback
inti=0;
输入追加元素:
n;
a[x]=n;
沈阳理工大学课程设计专用纸No.6
追加后:
for(i=0;
x+1;
cout<
voidmain()
{
//由模板array生成对象arr
arr.getnum();
//调用函数getnum
//调用函数Pushback
沈阳理工大学
沈阳理工大学课程设计专用纸No.7
四、测试数据及运行结果:
输入数组的包含元素的个数:
9
分别输入九个元素:
第一个元素:
5
第二个元素:
第三个元素:
第四个元素:
第五个元素:
第六个元素:
第七个元素:
第八个元素:
第九个元素:
输出所输入的数组:
555555555
输入要查追加的元素:
3
输出追加元素后的数组:
5555555553
沈阳理工大学课程设计专用纸No.8
五、运行截图:
沈阳理工大学课程设计专用纸No.9
六、遇到问题及解决方案:
1、程序缺陷
没有实现对指定位置添加元素。
只能向数组的末尾添加指定元素。
2、解决方法
应在Pushback函数中追加元素只之输入要想添加元素的位置。
并用for循环使对应元素后面的其他元素重新附值。
例如:
在一个有10个元素的数组中把一元素r=4添加到第4位。
即要使a[3]=4则应利用for循环:
inth;
输入追加元素的位置:
h;
for(i=h;
11;
a[i]=a[i-1];
使后面的元素依次重新附值。
当然循环前后的程序也应作修改。
沈阳理工大学课程设计专用纸No.10
七、参考文献:
《C++面向对象程序设计》谭浩强编著,清华大学出版社版社。
《VisualC++6.0实用教程(第二版)》杨勇国主编,清华大学出版社。
《面向对象程序设计语言-----C++(第二版)》陈志博主编,人民邮电出版社。
《VisualC++6.0应用编程150例》尹立民王兴东等编著电子工业出版社。