1.函式模板:
template void myswap(t &a,t&b)
//函式模板呼叫
void main()
//2)類的內部宣告 必須寫成://函式模板作為函式引數
以及templateint mysort(t1 *array,t2 size);
void main();
int size =sizeof(myarray)/sizeof(*myarray);
mysort(myarray,size);
}int mysort(t1 *array,t2 size)
for(t2 i=0;i類模板:
類模板用於實現類所需資料的型別引數化
類模板在表示如陣列、表、圖等資料結構顯得特別重要,
這些資料結構的表示和演算法不受所包含的元素型別的影響
繼承中的類模板語法:
主要注意class b :public a
b(int a,double x):a(a)
所有的類模板函式寫在類的外部,在乙個cpp中//建構函式 沒有問題
//普通函式 沒有問題
//友元函式:用友元函式過載 << >>
// friend ostream& operator<< (ostream &out, complex &c3) ;
//友元函式:友元函式不是實現函式過載(非 << >>)
//1)需要在類前增加 類的前置宣告 函式的前置宣告
templateclass complex;
templatecomplexmysub(complex&c1, complex&c2);
friend complexmysub (complex&c1, complex&c2);
//3)友元函式實現 必須寫成:
template
complex mysub(complex &c1, complex &c2)
//4)友元函式呼叫 必須寫成
complex c4 = mysub(c1, c2);
cout類模板中的static關鍵字
1) 請設計乙個陣列模板類( myvector ),完成對int、char、teacher型別元素的管理。
需求設計:
類模板 建構函式 拷貝建構函式 << 過載=操作符
template class myvector()
template myvector::myvector(int size)
template myvector::myvector(const myvector &obj)
}myvector:: &operator(int index)
myvector:: myvecto &operator=(const myvector &obj)
m_len=obj.len;
m_space=new t[m_len];
for(int i=0;i&obj)
teacher(const teacher & obj)
~teacher()
}public:
friend ostream &operator<
teacher &operator=(const teacher &obj)
m_p=new char [strlen(obj.m_p)+1];
strcpy(m_p,obj.m_p);
return *this;
}private:
int age;
char *pname;
}
vuex 複習這個主要是對映不同寫法複習
這個原理到是不難,就是統一的狀態管理,和可控的操作預期,更加便於管理和維護 我自己畫了個圖,大家一看就明白,說白了,就必須這麼轉,這麼轉便於維護,再大的專案也這樣轉,跟太極一樣,就這麼 轉啊轉!今天我要複習的是,getters 這個 我不經常用,所以陌生了,所以寫個 在這篇例子中,由於沒有分模組,所...
C 複習筆記(五) 多型
多型,可分為靜態多型和動態多型。靜態多型,就是表現在靜態聯編上,即編譯時的多型,如汎型程式設計,函式過載都屬於靜態聯編。動態多型,就是表現在執行時的多型,在程式執行時,才決定呼叫什麼函式,通過虛函式來實現,換句話說,就是實現 乙個介面,多種方法 本文的多型主要指動態多型。多型實現條件 實現條件有3個...
C語言輸出(主要是printf函式)
在c語言中,有三個函式可以用來在顯示器上輸出資料,它們分別是 puts 只能輸出字串,並且輸出結束後自動換行。putchar 只能輸出單個字元。printf 可以輸出各種型別的資料。printf 是其中最靈活 最複雜 最常用的輸出函式,它通過格式控制符對輸出進行格式控制,它的部分格式控制符如下 pr...