首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[ ]下标运算符具体怎么运算

2012-02-15 
[]下标运算符具体如何运算?如题,[]运算符有一个运算公式,不知为何?另,这个公式的含义是什么?[解决办法]#in

[ ]下标运算符具体如何运算?
如题,[     ]运算符有一个运算公式,不知为何?另,这个公式的含义是什么?

[解决办法]
#include <iostream>
#include <cstring>
using namespace std;
class String
{
char *data;
int size;
public:
String():data(NULL),size(0){}
String(const char *str)
{
data=new char[strlen(str)+1];
if(!data)exit(1);
memmove(data,str,strlen(str)+1);
size=strlen(str);
}
String(const String &rhs)
{
data=new char[strlen(rhs.data)+1];
if(!data)exit(1);
memmove(data,rhs.data,strlen(rhs.data)+1);
size=strlen(rhs.data);
}
~String()
{
delete data;
}
void operator=(const char *str)
{
if(data!=str)delete data;
data=NULL;
data=new char[strlen(str)+1];
if(!data)exit(1);
memmove(data,str,strlen(str)+1);
size=strlen(str);
}
void operator=(const String &rhs)
{
*this=rhs.data;
}
inline operator char*()const
{
return data;
}
inline int getsize()const
{
return size;
}
char& operator[](const int &n)const
{
return data[n];
}
};
int main()
{
char *str= "Hello World ";
char *str1= "Hello China ";
String s;
String s1(str1);
s=str;
cout < <s < <endl;
cout < <s1 < <endl;
s=s1;
cout < <s < <endl;
for(int i=0;i <s.getsize();++i)
cout < <s[i];
cout < <endl;
s[5]= '@ ';
cout < <s < <endl;
system( "PAUSE ");
return 0;
}

热点排行