读书人

这个类的中载函数怎么在类外定义啊请大

发布时间: 2012-05-20 16:03:12 作者: rapoo

这个类的中载函数如何在类外定义啊,请大家帮一下忙把。

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就可以了

读书人网 >C++

热点推荐