常資料成員的深複製,const+字元型指標 ,如何寫深複製的程式碼?
#include <iostream>
#include <cstring>
class Student
{
public:
Student( int no, const char* name, float score ) : no_(no), name_(strcpy(new char[strlen(name)+1],name)), score_(score)
{
}
Student( const Student& s ) : no_(s.no_), name_(strcpy(new char[strlen(s.name_)+1],s.name_)), score_(s.score_)
{
}
~Student()
{
delete[] name_;
}
protected:
Student& operator=( const Student& s );
private:
const int no_;
const char* name_;
const float score_;
friend std::ostream& operator<<( std::ostream& os, const Student& s )
{
return os << s.no_ << ' ' << s.name_ << ' ' << s.score_;
}
};
using namespace std;
int main( void )
{
Student stu1( 1, "wangming", 99 );
Student stu2 = stu1;
cout << stu1 << '\n';
cout << stu2 << '\n';
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007056/viewspace-2793569/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺複製和深複製的概念與值複製和指標複製(引用複製)有關 淺複製 “指標複製 深複製 值複製指標
- Day 7.5 資料型別總結 + 複製 淺複製 深複製資料型別
- js 實現深複製/深複製JS
- go的深複製跟淺複製Go
- 深複製
- 淺複製與深複製
- Java引用複製、淺複製、深複製Java
- 資料共享(淺複製)與資料獨立(深複製)
- JavaScript中的淺複製與深複製JavaScript
- JS物件複製:深複製和淺複製JS物件
- python 淺複製、深複製坑Python
- python 深複製和淺複製Python
- JavaScript 淺複製和深複製JavaScript
- js 深複製JS
- python 的深淺複製Python
- python深複製和淺複製的區別Python
- go slice深複製和淺複製Go
- js 淺拷貝(淺複製、淺克隆)、深拷貝(深複製、深克隆)JS
- C#中的物件深複製和淺複製C#物件
- 詳談Javascript中的深複製和淺複製JavaScript
- vue物件的深層複製Vue物件
- Python列表的深淺複製Python
- js物件深複製JS物件
- 淺談JS中物件的淺複製和深複製JS物件
- JS 物件如何實現深複製JS物件
- Python 列表切片陷阱:引用、複製與深複製Python
- 25. 深淺複製
- js 淺複製和深複製的區別和應用JS
- Java 中的深複製和淺複製你瞭解嗎?Java
- 如何寫出一個驚豔面試官的深複製?面試
- 對於複製普通物件 深複製和淺複製是否一樣物件
- 寫個JS深複製,面試備用JS面試
- 【JavaScript】聊一聊js中的淺複製與深複製與手寫實現JavaScriptJS
- 深淺複製,溫故知新
- Golang:deepcopy深複製工具庫Golang
- 淺顯直白的Python深複製與淺複製區別說明Python
- JavaScript 深複製的迴圈引用問題JavaScript
- 一文帶你瞭解js資料儲存及深複製(深拷貝)與淺複製(淺拷貝)JS