c string類的操作符過載

2021-07-25 23:03:27 字數 1127 閱讀 5485

首先 先了解  class 類裡面給我們 預設過載了6個函式  分別是

預設構造

預設析夠

預設賦值

拷貝構造

過載*過載&

然而我們需要關注的是  拷貝構造         因為如果你不重寫 拷貝構造的話 裡面的 資料全部都是淺拷貝   當 自己的倆個string 相等的時候  就會出問題  它裡面的char只想同乙個空間    所以 這裡自己過載了拷貝構造  避免 一些莫名奇妙的崩潰 。。。。  

.h檔案    

#ifndef _string_h_

#define _string_h_

#define _crt_secure_no_warnings

#include namespace cr;}

#endif//_string_h_

.cpp檔案

#include "string.h"

#include namespace cr

string::~string()

string::string(const string& other)

char* string::alloc(const char* data)

string& string::operator = (const string& other)

string& string::operator+=(const string& other)

char& string::operator(const int index)

string string::operator+(const string& other)

std::ostream& operator<<(std::ostream & os, const string& me)

std::istream& operator>>(std::istream & is, const string& me)

string operator+(const char* data, const string& other)

}

如果 本程式 有問題 或者有更好的實現方法  歡迎切磋    和吐槽

關於CString的 操作符

檢查自已的 時,發現乙個比較弱智的錯誤,是關於轉碼的,和cstring的 操作符有關。為了能簡單重現,我模擬了一下 未有unicode或 unicode定義 uses conversion cstring stest t test中文 stest a2w stest messageboxw null...

操作符過載

ifndef vertex h define vertex h class vertex vertex float px float py float pz vertex operator const vertex p vertex operator const vertex p void oper...

操作符過載

1.操作符是靜態方法,返回值表示操作結果,引數是運算元。2.操作符過載需要在過載的操作符前加上operator關鍵字。3.最好少用操作符過載,只有在意義明晰而且與內建類的操作一致時才適合使用,以免造成混亂。以建立的分數類 fraction 中的 為例,該分數類中有兩個int型的私有屬性 分子 num...