LintCode-剑指Offer-(208)赋值运算符重载

原创 2015年11月21日 01:43:39
class Solution {
public:
char *m_pData;
    Solution() {
        this->m_pData = NULL;
    }
    Solution(char *pData) {
    this->m_pData = pData;
     }

// Implement an assignment operator
    Solution operator=(const Solution &object) {
    if(this==&object)return *this;
    if(object.m_pData==NULL)
    {
        this->m_pData=NULL;
        return *this;
    }

    char* tmpadd=this->m_pData;
    this->m_pData =new char[strlen(object.m_pData)];
    strcpy(this->m_pData,object.m_pData);
    delete tmpadd;
    return *this;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

剑指offer - 赋值运算符函数

如下为类型CMyString的声明,为该类型添加赋值运算符函数: class CMyString{ public : CMyString(char* pData = NUL...

【剑指Offer】赋值运算符函数

按照自己浅薄的理解,敲了如下代码

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

剑指offer 赋值运算符

把传入参数设为引用,就可以不调用拷贝构造函数,少了一次拷贝节省了内存,返回值是该类的引用,这样才能连续赋值引用,防止产生一次拷贝副本。 #include #include using name...

剑指offer--赋值运算符函数

简单模拟实现String类

【面试题】剑指offer-1-赋值运算符重载

题目:为String类实现赋值运算符重载 这里直接实现深拷贝的String类

赋值运算符重载

赋值运算符重载

重载赋值运算符

8.4.3  重载赋值运算符 如果我们不亲自给类提供重载的赋值运算符函数,则编译器将提供一个默认的函数。默认版本仅仅提供逐个成员的复制过程,与默认复制构造函数的功能类似;但是,不要混淆默认复制构...

重载赋值运算符

// overrideassignoperator.cpp : Defines the entry point for the console application. // #include "s...

赋值运算符重载

在下面类中实现:class CMyString { public: CMyString(char* pData = NULL); CMyString(const CMyString& ...

面试题1:赋值运算符函数

题目:如下为类型CMyString的声明,请为该类添加赋值运算符函数。 class CMyString { public:     CMyString(char* pDat...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)