【发布时间】:2011-10-17 01:38:01
【问题描述】:
我正在研究一个使用指针的字符串类,我只是在理解我的print 函数在这里的工作原理方面遇到了一些困难。具体来说,为什么cout << pString 输出的是字符串而不是它所指向的动态数组的内存地址?我的理解是变量 pString 是一个指针。
class MyString
{
public:
MyString(const char *inString);
void print();
private:
char *pString;
};
MyString::MyString(const char *inString)
{
pString = new char[strlen(inString) + 1];
strcpy(pString, inString);
}
void MyString::print()
{
cout << pString;
}
int main( )
{
MyString stringy = MyString("hello");
stringy.print();
return 0;
}
【问题讨论】:
标签: c++ pointers dynamic-arrays