#ifndef _string_h_h
#define _string_h_h
#include using namespace std;
class string;
ostream& operator << (ostream &os,const string &str);
istream& operator >> (istream &in,string &str);
string operator + (const string &sorig,const string sdest);
class string
string(const char *p);
string(const string &orig);
string& operator = (const string &orig);
~string();
friend ostream& operator << (ostream &os,const string &str);
friend istream& operator >> (istream &in,string &str);
friend string operator + (const string &sorig,
const string sdest);
char operator (size_t index)const;
bool operator == (const string &orig);
bool operator != (const string &orig);
const string& insert(const string &orig,size_t index);
const string& erase(size_t headindex,size_t backindex);
bool empty();
size_t size()const;
private:
ostream& print(ostream &os)const;
istream& putin(istream &in);
void split(char *pt,char*ptback,
size_t headindex,size_t backindex = 0);
void del_ptr() }
char *pc;
};#endif
#include "string.h"
#include #include using namespace std;
/**member function implementations**/
string::string(const char *p)
string::string(const string &orig)
string& string::operator = (const string &orig)
string::~string()
char string::operator (size_t index)const
bool string::operator == (const string & orig)
ostream& string::print(ostream &os)const
istream& string::putin(istream &in)
bool string::operator != (const string &orig)
const string& string::insert(const string &orig,size_t index)
const string& string::erase(size_t headindex,size_t backindex)
bool string::empty()
size_t string::size()const
void string::split(char *pthead,char *ptback,
size_t headindex,size_t backindex)
else//split for earse }
/**friend function**/
ostream& operator << (ostream &os,const string &str)
istream& operator >> (istream &in,string &str)
string operator + (const string &sorig,const string sdest)
#include "string.h"
#include using namespace std;
/**切忌不要返回臨時變數的引用**/
int main()
對Reflection的一點改進
之前實現的那個reflection沒有把光照加進去,使得不是很逼真,與真實的景象有出入。只要我們把光源也想象 為乙個物體,在鏡子中也會有映象,也會使virtual object產生光照效果。這裡我採用的是聚光燈,對其的屬性設定如下 glfloat lightamb ambient light glf...
對String類的split方法的一點點研究
今天在複習正規表示式的時候,遇到了乙個小問題,話不多說,先貼上 當我在用string類的split 方法對str1進行分割的時候,然後在控制台輸出,輸出結果如下 意思就是 123a345b 呼叫split方法後返回的string陣列中有7個元素,並且當中含有五個空元素,a元素之前拆出了3個空元素,而...
對Abstract類的一點理解
abstractlist a new abstractlist override public int size 快看,這不是已經new出來了嗎,只不過格式和普通的new有點差別,換一種說法 抽象類是可以new的,但是不能直接new,一定要重寫沒有實現的方法 比如說這裡邊有兩個方法需要overrid...