为了账号安全,请及时绑定邮箱和手机立即绑定

c加加程序设计?

c加加程序设计?

C++
灬elliott 2016-07-03 16:50:50
1.理解下面的动态数组类模板,它由一系列位置连续、任意数量相同类型的元素组成,其元素个数可在程序运行时改变,并完成该类中没有完成的成员函数(不允许改变已有代码),并设计主函数,实现对该模板类的功能测试。#include <iostream.h>#include <stdlib.h>//容错处理enum ErrorType{invalidArraySize,memoryAllocatetionError,indexOutOfRang};char *errorMsg[] ={"Invalid array size","Memory allocation error","Invalid index"};template <class T>class Array{private:T* alist;int size;void Error(ErrorType error) const;//输出错误信息public:Array(int sz=50);//构造函数Array(const Array<T>& X);//拷贝构造函数~Array(void);//析构函数Array<T>& operator=(const Array<T>& rhs);//重载赋值运算符T& operator[](int i);//重载下标运算符int GetSize(void) const;//获取数组大小void Resize(int sz);//重新设置数组大小};template <class T>Array<T>::Array(int sz){if(sz <= 0)  Error(invalidArraySize);size = sz;alist = new T[size];if(alist == 0)  Error(memoryAllocatetionError);}template <class T>Array<T>::Array(const Array<T>& X){int n = X.size;size = n;alist = new T[n];if(alist == 0)  Error(memoryAllocatetionError);T* srcptr = X.alist;T* destptr = alist;while(n--)  *destptr++ = *srcptr++;}template<class T>Array<T>::~Array(){delete[] alist;}template <class T>Array<T>& Array<T>::operator=(const Array<T> &rhs){int n = rhs.size;if(size != n){  delete[] alist;  alist = new T[n];  if(alist == 0)   Error(memoryAllocatetionError);  size = n;}T* destptr = alist;T* srcptr = rhs.alist;while(n--)  *destptr++ = *srcptr++;return *this;}template<class T>T& Array<T>::operator[](int n){if(n < 0 || n > size-1)  Error(indexOutOfRang);return alist[n];}void main(){}
查看完整描述

2 回答

已采纳
?
惊回头

TA贡献12条经验 获得超4个赞

1>------ 已启动生成: 项目: 空, 配置: Debug Win32 ------

1>生成启动时间为 2016/7/4 星期一 下午 12:40:03。

1>InitializeBuildStatus:

1>  正在创建“Debug\空.unsuccessfulbuild”,因为已指定“AlwaysCreate”。

1>ClCompile:

1>  空.cpp

1>c:\users\administrator\desktop\bia\空\空\空.cpp(1): fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory

1>

1>生成失败。

1>

1>已用时间 00:00:02.15

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

  THIS?

查看完整回答
1 反对 回复 2016-07-04
?
惊回头

TA贡献12条经验 获得超4个赞

}v[0].Display();v[1].Dis;问题一:上述程序存在两大错误,在不修改主函数和程;问题二:①处的转换属于显式转换还是隐式转换,并解;问题三:②处的转换属于显式转换还是隐式转换,并解;问题四:解释③处的转换过程;问题五:解释④处的转换过程;8.2.2程序设计;1.编写一个程序计算三角形、正方形和圆形的面积,;8.3思考题;1.设计一个汽车类M


} v[0].Display(); v[1].Display(); v[2].Display(); v[3].Display();

问题一:上述程序存在两大错误,在不修改主函数和程序原意的前提下,改正该程序中存在的错误。

问题二:①处的转换属于显式转换还是隐式转换,并解释该转换过程。

问题三:②处的转换属于显式转换还是隐式转换,并解释该转换过程。

问题四:解释③处的转换过程。

问题五:解释④处的转换过程。


查看完整回答
反对 回复 2016-07-04
  • 2 回答
  • 1 关注
  • 3897 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信