成员函数形式重载运算符 []

来源:互联网 发布:win10wlan未识别的网络 编辑:程序博客网 时间:2024/05/19 10:40
#include <iostream>using namespace std;class demo{private:char * sz;int len;public:demo (int l = 0 )//{len = l;sz = new char [len];//分配内存}~demo(){delete [] sz;sz = NULL;}int getlen ( )//获取len{return len;}char & operator [] ( int i );void print (){cout<<sz<<endl;}};char & demo::operator [] ( int i )// 成员函数重载 [ ] 运算符{static char def = '\0';//局部静态变量if ( i < len && i >= 0)return sz[i];elsecout<<"下标越界"<<endl;return def;}int main(){int cnt = 0;demo CH (8);char *H = "hello!";CH.print ();for ( ; cnt < strlen (H) +1 ; cnt ++){CH[cnt]= H[cnt]; }CH.print();for ( cnt = 0; cnt < CH.getlen () ; cnt ++){cout<<CH[cnt];}return 0;}
 
总是不想睡觉 , 很迷茫。

原创粉丝点击