相关疑难解决方法(0)

为什么我的指针输出一个字符串而不是内存地址?C++

我正在研究一个使用指针的字符串类,我在理解我的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;
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers dynamic-arrays

4
推荐指数
2
解决办法
1304
查看次数

标签 统计

c++ ×1

dynamic-arrays ×1

pointers ×1