码迷,mamicode.com
首页 > 其他好文 > 详细

作业11

时间:2015-06-11 20:53:56      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 template<class T>
 5 class Array{
 6 private:
 7     T *list;
 8     int size;
 9 public:
10     Array(int size=50);
11         Array(const Array<T>&a);
12         ~Array();
13 T operator+(const Array<T>&other);
14         Array<T>& operator=(const Array<T>&other);
15         T& operator [](int i);
16         Array<T>& operator *();
17         int getSize() const;
18 //        void resize( int size); 
19 T operator -(const Array<T>&other);
20      void input(){
21          cout<<"输入你想创建的数组大小"<<endl;
22          int n;
23          cin>>n;
24          size=n;
25          for(int i=0;i<size;i++){
26          cout<<"输入你想创建的数组的第"<<i+1<<endl;
27          cin>>this->list[i];
28          }
29      }
30      void coutp(){
31          for(int i=0;i<size;i++){
32              cout<<list[i]<<" ";
33          }
34      }
35 };
36 template<class T>
37  Array<T>::Array(int size){
38 //     assert(size>=0);
39      this->size=size;
40      list=new T[size];
41  }
42  template<class T>
43  Array<T>::~Array(){
44      delete  [] list;
45  }
46  template<class T>
47  Array<T>::Array(const Array<T>&a){
48      this->size=a.size;
49      this->list=new [this->size];
50      for(int i=0;i<size;i++){
51          this->list[i]=a.list[i];
52      }
53  }
54 template<class T>
55 Array<T>& Array<T>::operator=(const Array<T>&other){
56      this->size=other.size;
57      this->list=new [this->size];
58 
59      for(int i=0;i<size;i++){
60          this->list[i]=a.list[i];
61      }
62      return *this;
63 }
64 template<class T>
65 T& Array<T>::operator[](int i){
66     return &(this->list[i]);
67 }
68 template<class T>
69 Array<T>&  Array<T>::operator *(){
70     return list;
71 }
72 template<class T>
73 T Array<T>::operator +(const Array<T>&other){
74     T c;
75     for(int i=0;i<this->size;i++){
76     c.list[i]=this->list[i]+other.list[i];
77     }
78     return c;
79 }
80 template<class T>
81 T Array<T>::operator -(const Array<T>&other){
82     T c;
83     for(int i=0;i<this->size;i++){
84     c.list[i]=this->list[i]-other.list[i];
85     }
86     return c;
87 }
88 int main(){
89  Array<string> a;
90  a.input();
91  a.coutp();
92 Array<string> b;
93  b.input();
94  b.coutp();
95 Array<string> d;
96    d=(a+b);
97 // Array<int> b;
98  return 0;
99 }

 

作业11

标签:

原文地址:http://www.cnblogs.com/qianxunke/p/4569852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!