2015级C++第14周实践项目 模板

【项目1-排序函数模板】
  已知

void Sort(int a[],int size);
void Sort(double a[],int size);

是一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。

【项目2-两个成员的类模板】
  设有如下的类声明:

class  Test{
public:
  void SetData1(int val) { data1=val; }
  void SetData2(double val) {data2=val: }
  int GetData1()  { return data1; }
  double GetData2() { return data2; }
private:
  int data1;
  double  data2;
}

(1)试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。
(2)请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。

【项目3-数组类模板】
  在数组类的基础上,将之改造为类模板,以使数组中可以存储各种类型的数据。

template <class T>  //数组类模板定义
class Array
{
private:
    T* list;        //用于存放动态分配的数组内存首地址
    int size;       //数组大小(元素个数)
...
};
时间: 2024-09-11 08:27:47

2015级C++第14周实践项目 模板的相关文章

2015级C++第3周实践项目

[项目1:个人所得税计算器] 编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识). (1)自选if语句的嵌套或/和switch语句完成程序设计: (2)下面给出程序的基本框架,请从课程主页找到链接下载使用. #include <iostream> using namespace std; int main( ) { double dSalary,dTax=0,dNetIncome=0; cout<<"请输入您

2015级C++第2周实践项目

[项目1 - 宣告"主权"] 你已经是CSDN博客主了,用IT人特有的方式,编一段程序,在屏幕上输出你想说的话,按要求发布博文,作为我们的开山之作. [项目2 - 胖子不想说体重]参考解答 成年男性的标准体重公式为: 标准体重(kg)=身高(cm)−100  超标准体重20%为超重,比标准体重轻20%为超轻.请编写C++程序,输入身高和体重,完成下面的任务: (1)计算并输出标准体重. (2)计算出标准体重,当超重时,请给出提示. (3)计算出标准体重,当超重时给出提示,不超重时也给提

2015级C++第16周实践项目 文件

本周项目中用到的数据文件,请在此下载点这儿-. [项目1 - 小玩文件]参考解答 (1)下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整. #include <iostream> #include <cstdlib> #include _____________ // (1) using namespace std; int main() { fstream file; file.open("abc.txt", _________);

2015级C++第13周实践项目 多态性和实现

[项目1-分数类中的运算符重载] 参考解答 (1)实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简).比较(6种关系)的运算. class CFraction { private: int nume; // 分子 int deno; // 分母 public: //构造函数及运算符重载的函数声明 }; //重载函数的实现及用于测试的main()函数 (2)在(1)的基础上,实现分数类中的对象和整型数的四则运算.分数类中的对象可以和整型数进行四则运算,且运算符合交换律.例如

2015级C++第12周实践项目 运算符重载(一)

[项目1-实现复数类中的运算符重载] 参考解答 (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;} Complex operator+(const Complex &c2); Complex operator-(const Complex &c2); Complex op

2013级C++第14周(春)项目——多态性、虚函数和抽象类

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 第一部分 阅读程序1.阅读.修改和运行关于交通工具类的程序,回答问题,以理解相关技术方法(1)请写出程序的执行结果,并在上机时对照理解 #include <iostream> using namespace std; class Vehicle //交通工具 { public: void run() const { cout <<

2015级C++第14周程序阅读 STL中的简单容器和迭代器

阅读并运行程序,解释程序执行得到的结果 (1) #include<iostream> #include<vector> #include<iterator> using namespace std; int main() { vector<int> ivec; int i; for(i = 0; i < 5; i++ ) ivec.push_back(i); for(i = 0; i < 5; i++) cout<<ivec[i]&l

2015级C++第6周项目 类的组合、静态存储

一."书面"实践项目 [项目1] "IT妹子类"的设计,作UML表达.见"云班课"中作业,每人一份,须签名. [项目2] 阅读程序,对照运行结果,领会变量的变化过程,介绍三种方法,让你读得更明白:(1)画出变量占用的内存及值的变化:(2)画出变量占用的内存及值的变化:(3)画出变量占用的内存及值的变化. (程序1) #include <iostream> using namespace std; int f(int n); int m

2013级C++第2周(春)项目——结构体应用大体验

课程主页在:http://blog.csdn.net/sxhelijian/article/details/11890759,由课程主页,可以看到完整教学方案,所有参考解答 第一部分 结构体应用 [项目1-学生成绩统计]   每位同学的信息学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分(score).均分(average)). (1)从键盘上输入N名学生的信息(N定义为常变量