C 基礎之自定義String型別

2021-09-13 12:08:30 字數 1003 閱讀 6372

// string.h

#ifndef string_h

#define string_h

#include #include #include #include using namespace std;

class stringelse

} // 拷貝建構函式

string(const string& other)

// 析構函式

~string(void)

// 計算長度

int length()

// 轉換成char* 型別

char* c_str()

// 賦值拷貝

string& operator=(const string& other)

// 返回自引用

return *this;

} // 重寫string型別的+運算子

string& operator+(const string& other)

// 重寫string型別的操作符

char operator(int index)

char ch = m_data[index];

return ch;

} // 重寫輸出<< 操作符

friend ostream& operator<<(ostream& os,const string& that)

// 重寫輸入》 操作符

friend istream& operator>>(istream& is,const string& that)

private:

char* m_data;

};#endif // string_h

// main.cpp ==>測試

#include #include #include "string.h"

using namespace std;

int main(void)

C 基礎之自定義型別

一.命名空間 1.命名空間是資料夾,類是檔案 例如namespace outer.middle.inner class class1 class class2 命名空間中的點表示巢狀命名空間的層次結構 所以上面的 可以表示為下面的形式 namespace outer class class2 2.u...

c 自定義string類

1.標頭檔案部分 define crt secure no warnings pragma once include includeusing namespace std class mystring 2.函式定義部分 include mystring.h mystring mystring mys...

C自定義型別

一 自定義型別基本概念 1 結構體 結構體就是將任意多個內建型別變數包含在一起形成的乙個結構,結構特也可以巢狀定義,不能在內部定義自己結構的變數,因為是不完整的型別,但是可以定義指向自己型別的指標,這也是鍊錶的原理,其定義形式如下 struct a 2 列舉 列舉型別是由一些項組成的型別,具體看 列...