这个类的中载函数怎么在类外定义啊请大家帮一下忙把
这个类的中载函数如何在类外定义啊,请大家帮一下忙把。
------解决方案--------------------
- C/C++ code
#include <iostream> using namespace std; class MyArray { private: int *arr; //用于存放动态分配的数组内存首地址 int size; //数组大小 public: MyArray & operator =(const MyArray &A); //重载“=”使得数组对象可以整体赋值 int & operator[](int i); //重载[],使得Array对象也可以如C++普通数组一样,用a[i]形式取出 }; int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[10]={4,5,6,7,8,9,10,11,12,13}; MyArray arr1(a,10); MyArray arr2(b,10); MyArray arr3(10); system("pause"); return 0; }
------解决方案--------------------
- C/C++ code
int MyArray::operator[](int i) { return arr[i]; }
------解决方案--------------------
- C/C++ code
class MyArray { private: int *arr; //用于存放动态分配的数组内存首地址 int size; //数组大小 public: MyArray & operator =(const MyArray &A); //重载“=”使得数组对象可以整体赋值 int & operator[](int i); //重载[],使得Array对象也可以如C++普通数组一样,用a[i]形式取出 }; MyArray& MyArray::operator=(const MyArray& A) { size = A.size; memcpy(arr,A.arr,sizeof(int)*size); } int& MyArray::operator[](int i) { return arr[i]; }
------解决方案--------------------
MyArray& MyArray::operator=(const MyArray& A)返回*this就可以了