美文网首页
创建对象实例

创建对象实例

作者: charlieyan | 来源:发表于2018-01-08 11:33 被阅读0次

    头文件

    class CMyString{
        public:
        CMyString(char* pData = nullptr);
        CMyString(const CMyString& str);
        ~CMyString(void);
        char* getString();
    private:
        char* m_pData;
    };
    

    cpp文件

    CMyString::CMyString(char* pData){
    
    if(m_pData == nullptr)
    {
        delete []m_pData;
        m_pData = nullptr;
    }
    int size = strlen(pData);
    m_pData = (char*)malloc(size+1);
    std::cout<<"*pData:"<<pData<<std::endl;
    m_pData = pData;
    m_pData = *pData;
    *(m_pData+1) = *(pData+1);
    }
    
    char* CMyString::getString() {
        return this->m_pData;
    }
    
    CMyString::~CMyString() {
        delete m_pData;
    }
    

    主函数

    int main() {
        std::cout << "Hello, World!" << std::endl;
        CMyString cMyString("as");
        std::cout << cMyString.getString()<<std::endl;
        return 0;
    }
    

    如果m_pData不用malloc初始化,则会在编译时报告析构函数的错误。
    plus * pData指的是pData指针指向地址的首个字符(在这里是a),在利用cout输出时cout的*pData是a,cout的pData则是as

    相关文章

      网友评论

          本文标题:创建对象实例

          本文链接:https://www.haomeiwen.com/subject/rdovnxtx.html