#ifndef string_h_#define string_h_
#include using namespace std;
class string
bool operator
bool operator>(const string &right) const //寫內聯函式的時候忘記寫引數,!!!!!
bool operator<=(const string &right) const
bool operator>=(const string &right) const
char &operator(int);//過載,
char operator(int) const;
void operator()(int,char) const;//替換某個位置的元素
string operator()(int,int = 0) const;//擷取兩個數字位之間的字元
void setstring(const char *);//效用函式
private:
int length;//字串中字元個數
char *sptr;//指標sptr,指向代表字串的額動態記憶體分配 };
#endif
#include "string.h"
#include #include using namespace std;
istream &operator>>(istream &input,string &right)
ostream &operator<
const string &string::operator+=(const char *s)//兩字串相加
return sptr[number];
}char string::operator(int number) const
return sptr[number];
}string string::operator()(int index,int sublength) const//擷取兩個數字位之間的字元
void string::operator()(int number,char s) const//替換某個位置的元素
//_11_10_main.cpp
#include "string.h"
#include using namespace std;
int main()
cout << "str1 += str2 yields " << endl;
str1 += str2;
cout << "str1 = " << str1 << endl;
cout << "str1 += \" to you \" yields" << endl;
str1 += " to you";
cout << "str1 = " << str1 << endl;
cout << "the substring of str1 starting at \n"
<< "location 0 for 14 characters,str1(0,14), is:\n"
<< str1(0,14) << endl;//對應的函式部分有錯誤提示
cout << "the substring of str1 starting at \n"
<< "location 15,str1(3,15), is:\n"
<< str1(3,15) << endl;
string *sptr0 = new string(str1);
cout << "*sptr0 = " << *sptr0 << endl;
cout << "assigning *sptr0 to *sptr0" << endl;
*sptr0 = *sptr0;
cout << "*sptr0 = " << *sptr0 << endl;
*sptr0 = str2;//注意咯!!!!!
cout << "*sptr0 = " << *sptr0 << endl;
delete sptr0;//寫成這樣就會錯誤,delete sptr0;因為這是乙個指向物件的指標啊啊啊
C 大學基礎教程筆記 一
1.修改const物件的任何企圖在編譯時就會被發現,而不是等到執行期才導致錯誤。2.將變數和物件宣告為const可以提高效能,編譯器可以對常量提供某些相對變數來說不能提供的優化。3.對於const物件,c 編譯器不允許進行成員函式的呼叫,除非成員函式本身也宣告為const。4.要將函式指定為cons...
C 大學基礎教程 12 物件導向程式設計 繼承
佣金雇員類,薪水完全是銷售提成 ifndef x 先測試x是否被巨集定義過 define x 程式段 1 如果x沒有被巨集定義過,定義x,並編譯程式段 1 endif 程式段 2 如果x已經定義過了則編譯程式段2的語句,忽視 程式段 1。ifndef commision h define commi...
C 大學基礎教程 6 4多引數函式定義
include using std string 不可省略啊 using namespace std class gradebook include gradebook.h include 不寫的話就會出現未定義識別符號cout using namespace std gradebook grade...