首先 先了解 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...