问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于C++中类模板的问题

发布网友 发布时间:2022-05-24 11:43

我来回答

2个回答

热心网友 时间:2023-10-12 07:43

类模板根本不是这样写的 给你一个例子
/*1) 设计1个动态数组类模板。在构造函数中,为数组分配存储空间(new操作符),
在析构函数中释放内存。类模板中提供排序,求最大值、最小值和平均值的功能。*/

#include<iostream>
#include <algorithm> //这里包含algorithm的目的是为了能调用std:sort
using namespace std;
template<class T>
class Array//数组类
{
private:
T *a;//数组
int size;//数组的大小
public:
Array(int size)//构造函数
{
a = new T[size];//开辟新内存
cout<<"请输入"<<size<<"个数或字符:"<<endl;
for(int i=0;i<size;i++)//输入数据
cin>>a[i];
this->size=size;
}
~Array()//析构函数
{
delete[] a;
}
T Max()//求最大值
{
T max=a[0];
for(int i=0;i<size;i++)
{
if(max<a[i])
max=a[i];
}
return max;
}
T Min()//最小值
{
T min=a[0];
for(int i=0;i<size;i++)
{
if(min>a[i])
min=a[i];
}
return min;
}
T Average()//平均值
{
T sum =T();
//cout<<sum;
for(int i=0;i<size;i++)
{
sum+=a[i];
}
return sum/size;
}
void show()//
{
for(int i=0;i<size;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
void Sort()
{
std::sort(&a[0],&a[size]);
}
};

int main()
{
Array<int>A(5);//int 类
A.show();
cout<<"A.Max = "<<A.Max()<<endl;
cout<<"A.Min = "<<A.Min()<<endl;
cout<<"A.Average = "<<A.Average()<<endl;
A.Sort();
A.show();

Array<char>B(5);//char 类
B.show();
cout<<"B.Max = "<<B.Max()<<endl;
cout<<"B.Min = "<<B.Min()<<endl;
cout<<"B.Average = "<<B.Average()<<endl;
B.Sort();
B.show();
return 0;
}

热心网友 时间:2023-10-12 07:43

#include<iostream.h> //头文件以 .h 结尾
using namespace std;

template <class T> class complex
{
private:
T real;
T imag;
public:
void set(T a,T b);
void get();
complex();
~complex();
};

template <class T>void complex<T>::set(T a,T b) //类函数在函数体外定义要写template <class T>,类名后要加<T>,下面同此
{
real=a;
imag=b;
}

template <class T>void complex<T>::get()
{
if(imag>0)
cout<<real<<"+"<<imag<<"i"<<endl;
else if(imag=0)
cout<<real<<endl;
else
cout<<real<<imag<<"i"<<endl;
}

template <class T>complex<T>::complex()
{
real=0;
imag=0;
}

template <class T>complex<T>::~complex()
{
cout<<"end"<<endl;
}

int main()
{
cout<<"this is a test:"<<endl;
int a,b;
complex<int> num1;
cin>>a>>b;
num1.set(a,b);
num1.get();
float c,d;
complex<float> num2;
cin>>c>>d;
num2.set(c,d);
num2.get();
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...防御里的4个都开不起来 错误的代码是80020002 80010007 煎牛排用什么肉好 茄子怎么做比较好吃呢? English tabloid手抄报 English tabloid手抄报怎么画 邓小平“南方讲话”关于发展问题最著名的观点是( )。 电脑电源输出12V、5V的作用是什么? win10手机能玩电脑游戏win10系统的手机难道可以安装和电脑一样的软件... 如何设置才能做到只能通过远程桌面访问server2003 怎样解电脑开机密码?且要保住电脑资料,请各位高手赐教,谢谢! 糖友荟糖友荟简介 谁能帮忙翻译一下下面这段文字,翻得好可以再加分 求大师翻译下这段话。 关于许嵩的英文作文 批处理:set创建变量之后怎么删除 求解这段的翻译 苹果和ibm笔记本电脑哪个好 输尿管疼怎么回事 在笔记本电脑中,IBM这个品牌怎么样? 输尿管结石激光碎石手术后两星期后仍有血块和轻微疼痛感 企业电子邮箱是什么?_? 肾结石手术痛吗 公司开设邮箱选哪个? 输尿管结石术后为何还会疼痛? 老年人肱骨外上髁骨折怎么办? 右肱骨外上髁骨折,对位对线可,余无殊 右肱骨外髁骨折,肱骨滑车骺软骨挫伤,右肘关节周围软组织肿胀。严重吗? 速求骨科损伤并发症的原因! 肱骨内髁骨折的并发症 肱骨髁上骨折临床表现及并发症 孕妇能不能吃生蒜 JAVA面向对象属性简便写法,如图哦P221.JAVA里面我要给很多很多变量一个一个的赋值,有没有什么办法能使 C++ no matching function for call to......... 编写一个复数类 批处理执行指定目录下的随机程序 太阳象征了什么 太阳象征什么作文 艾青太阳象征着什么 本诗中的太阳代表了什么表达了作者什么 太阳的话中太阳象征着什么 太阳象征着什么~月亮又象征着什么 【抖音】最强电音合集220首的歌,求百度网盘下载资源 请大家帮忙弄个通达信的阳后双阴阳选股公式源码~ 好的还加分!! 通达信经典实用选股公式(125个常用公式源码) 通达信导出公式如何直接看见源码 求通达信公式代码 我房间的门上被我贴满了贴纸,撕掉后还有残余,怎么才能把它们弄干净呢。 治疗慢粒白血病需要花多少钱? 我妈妈被查出来了慢性粒细胞白血病,现在每个月的药费是三千多块,我们家是农村户口,家里买了新农合保险 治疗慢性粒细胞白血病需要多少钱 白血病慢粒快粒怎么分?白血病慢粒治疗的话要用多少钱?请专业点的人士回答....谢谢.