1.運算子過載(未使用過載的例子)
#include
using
namespace
std;
class time
;time::time()
time::time(int h,int m)
void time::addmin(int m)
void time::addhr(int h)
void time::reset(int h,int m)
time time::sum(const time &t)const
void time::show()const
int main()
2.使用過載的例子。
#include
using
namespace
std;
class time
;time::time()
time::time(int h,int m)
void time::addmin(int m)
void time::addhr(int h)
void time::reset(int h,int m)
time time::operator+(const time &t)const
time time::operator-(const time &t)const
void time::show()const
int main()
3.友元函式:不是成員函式,但有與成員函式相同的訪問許可權,不能使用成員運算子來呼叫。
#include
using
namespace
std;
class time
friend ostream &operator
<<(ostream &os,const time &t);//用來進行cout};time::time()
time::time(int h,int m)
void time::addmin(int m)
void time::addhr(int h)
void time::reset(int h,int m)
time time::operator+(const time &t)const
//物件呼叫它,它再呼叫物件的成員變數
time time::operator-(const time &t)const
time time::operator*(double n)const
ostream &operator
<<(ostream &os,const time &t)
/*void time::show()const
4.複數類的運算子過載和友元函式
#include
#include
using
namespace
std;
class complex
;complex::complex()
complex::complex(double r,double i)
complex complex::operator+(const complex &c)const
complex complex::operator-(const complex &c)const
complex operator*(const complex &a,const complex &b)
complex operator*(double n,complex &c)
ostream &operator
<<(ostream &os,const complex &c)
istream &operator>>(istream &is,complex &c) //千萬不能用const!!!
int main()
return
0;}
第11章 使用類
關於c 說一句 不要覺得必須使用所有特性,不要在試圖使用所有特性。只要滿足需求即可。c 是工具。少有人敢說精通c 運算子過載 就是讓運算子能夠像操作基本型別一樣操作自己定義的類。過載運算子就把運算子看成函式名就好了 operator 這個就當做函式名。然後利用的時候就kobe james就好了。看本...
第11章 類物件導向理念
1,物件導向具體使用理念 2,原始碼 include include include 1,基類 通常在層次關係的根部有乙個基類 2,派生類 直接或間接從基類基礎而來,這些繼承得到的類稱為派生類 3,虛函式 對於某些函式,基類希望它的派生類各自定義適合自身的版本,此時基類就將這些函式宣告成虛函式,任何...
第11章 執行緒
執行緒標識 就像每個程序有乙個程序id一樣,每個執行緒也有乙個執行緒id。程序id在整個系統中是唯一的,但執行緒id不同,執行緒id只有在它所屬的程序上下文中才有意義。程序id 用pid t資料型別表示 執行緒id用pthread t資料型別來表示 includeint pthread equal ...