LintCode_208 Assignment Operator Overloading (C++ Only)
来源:互联网 发布:电脑硬件温度监控软件 编辑:程序博客网 时间:2024/05/16 14:50
Implement an assignment operator overloading method.
Make sure that:
- The new data can be copied correctly
- The old data can be deleted / free correctly.
- We can assign like
A = B = C
Clarification
This problem is for C++
only as Java and Python don't have overloading for assignment operator.
Example
If we assign like A = B
, the data in A should be deleted, and A can have a copy of data from B.
If we assign like A = B = C
, both A and B should have a copy of data from C.
Challenge
Consider about the safety issue if you can and make sure you released the old data.
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) { // write your code here if (this == &object) { return *this; } if (m_pData) { delete[] m_pData; m_pData = NULL; } if (object.m_pData) { m_pData = new char[strlen(object.m_pData)+1]; strcpy(m_pData, object.m_pData); } return *this; }};
0 0
- LintCode_208 Assignment Operator Overloading (C++ Only)
- #208 Assignment Operator Overloading (C++ Only)
- C++.Homework. Operator overloading.01
- C++.Homework. Operator overloading.02
- Operator Overloading
- Operator overloading
- Operator Overloading
- C++. Operator overloading.Fraction's operation
- [C++]copy constructor and copy assignment operator
- C++.Experiment 4.Operator overloading(& date plus days)
- 14.2.2 Operator overloading
- C# Operator Overloading
- What is operator overloading
- Simple operator overloading
- [Operator Overloading]Set Operations
- CPP-operator==, <overloading
- Operator Overloading in Swift Tutorial
- C++ Overloading (Operator and Function)
- oracle for update of和for update区别
- Codevs 1048 石子归并
- linux命令系列十之环境变量
- LintCode_205 Interval Minimum Number
- 添加四个依赖时报错 Bmob SDk Android-Image-indicator compile 'com.facebook.fresco:fresco:0.12.0' pulltor
- LintCode_208 Assignment Operator Overloading (C++ Only)
- linux命令系列十一之管道和重定向
- Max bipartite matching with Ford-Fulkerson algorithm
- 重置maya设置
- 基于NX的研发产品设计管理平台实现(十一)--图纸绘制环境预设置2
- JavaWeb笔记-配置环境变量
- JavaWeb笔记-Tomcat安装
- 3ds Max 2012重新激活出错的解决办法
- STL算法(15)——区间的比较