一,操作符過載案例之字串
1.前言
2.字串類的功能(string.h)
#pragma once# includeusing
namespace
std;
/** 建構函式:string str1,string str2("王剛"),string str3 = str2;
* 成員函式:length(),c_str();
* 操作符:<<,>>,=,,!=,==,+
*/class
string
;
2.字串的功能實現(string.cpp)
# define _crt_secure_no_warnings# include
# include
"string.h
"using
namespace
std;
/*無參建構函式
*/string::string()
/*有參建構函式
*/string::string(
char *ptr)
/*拷貝建構函式
*/string::string(
const string&str)
/*析構函式
*/string::~string()}/*
字串長度
*/int
string::length()
/*獲取字串頭指標
*/const
char *string::c_str()
/*過載左移運算子
*/ostream& operator
<<(ostream& out, string &str)
/*過載右移運算子
*/istream& operator>>(istream& in, string &str)
/*過載賦值運算子,引數為string型別
*/string& string::operator=(string&str)
this->len =str.len;
this->ptr = new
char[this->len+1
]; strcpy(
this->ptr, str.ptr);
return *this;}
/*過載賦值運算子,引數為字元指標型別
*/string& string::operator=(char *str)
this->len =strlen(str);
this->ptr = new
char[this->len + 1
]; strcpy(
this->ptr, str);
return *this;}
/*過載陣列下標運算子
*/char& string::operator(int
pos)
/*過載==運算子,引數為string
*/bool string::operator==(string&str)
if (strcmp(this->ptr, str.ptr)!=0
)
return
true;}
/*過載==運算子,引數為字元指標
*/bool string::operator==(char *str)
if (strcmp(this->ptr, str)!=0
)
return
true;}
/*過載!=運算子,引數為string
*/bool string::operator!=(string&str)
return
true;}
/*過載!=運算子,引數為字元指標
*/bool string::operator!=(char *str)
return
true;}
/*過載加號運算子,引數為字元指標
*/string& string::operator+(char *str)
this->ptr =tmp;
return *this;}
/*過載加號運算子,引數為string
*/string& string::operator+(string&str)
this->ptr =tmp;
return *this
;}
3.字串測試案例(main.c)
# include# include"string.h
"using
namespace
std;
intmain()
C C 過載操作符(二) 過載操作符
用於訪問一組元素中的乙個元素。預設的,陣列是支援下標訪問的。中的下標稱為 索引,key,唯一標誌符 當乙個物件設計用於包含多個元素時,可以過載操作符 比如乙個字串text包含多個元素 每個元素是乙個字串 text txt helloworld char ch text 0 比如在乙個datastor...
操作符過載
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...