11-14 模板,容器,命令

template<class X>
template<typename X>
聲明一個X為抽象類型的類
用的時候是 模板+實參類型=具體函數(shù)

#include<iostream>
using namespace std;
template<class X>
X Max(X a,X b)
{
    return(a>b?a:b);
}
int main()
{
    int X1=20;
    int X2=30;   
    cout<< Max<int>(X1,X2)<<endl;  //此處<int>可以帶也可以不帶,建議加上
    double a=10.56789;
    double b=10.56781;
    cout<< Max<double>(a,b)<<endl;
}
#include<iostream>
using namespace std;
template<class X,class Y>
class Test
{
    X m_t1;
    Y m_t2;
public:
    Test(X t1,Y t2)
    {
        m_t1=t1;
        m_t2=t2;        
    }
    void show()
    {
        cout<<"T1="<<m_t1<<endl<<"T2="<<m_t2<<endl;
    }
    void print();
};
template<class X,class Y>  //必須如此。。。最好用show類型的來定義
void Test<X,Y>::print()
{
    cout<<"T1="<<m_t1<<endl<<"T2="<<m_t2<<endl;
}
int main()
{
    Test<int,char>t(10,'s');
    t.show();
    t.print();
}

cin輸入,只有類型不符才會返回0
迭代器和指針const的用法對比

 iterator i1;                                                 int *p1;
 const_iterator i2;                                     const int *p2;
 const iterator i3;                                      int *const p3;
 const const_iterator i4;                          const int* const p4;

容器的建造與一些命令的應用

#include<iostream>
#include<vector>
using namespace std;
void show(vector<int>vi)
{
    vector<int>::iterator it;
    it=vi.begin();
    while(it!=vi.end())
    cout<<*it++<<' ';
    cout<<endl;
}
int main()
{
    vector<int>vi(3,90);
    show(vi);
    int a[5]={3,4,5,6,7};
    vi.insert(vi.begin(),a,a+5);
    show(vi);
    vi.push_back(100);
    show(vi);
    cout<<"size:"<<vi.size()<<endl;
    vi.assign(5,99);                    //清除之前的內(nèi)容,并賦值給該容器
    show(vi);
    cout<<"size:"<<vi.size()<<endl;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,679評論 1 51
  • C++運算符重載-下篇 本章內(nèi)容:1. 運算符重載的概述2. 重載算術(shù)運算符3. 重載按位運算符和二元邏輯運算符4...
    Haley_2013閱讀 1,532評論 0 49
  • 再讀高效c++,頗有收獲,現(xiàn)將高效c++中的經(jīng)典分享如下,希望對你有所幫助。 1、盡量以const \enum\i...
    橙小汁閱讀 1,312評論 0 1
  • 重新系統(tǒng)學習下C++;但是還是少了好多知識點;socket;unix;stl;boost等; C++ 教程 | 菜...
    kakukeme閱讀 20,456評論 0 50
  • 接著上節(jié) condition_varible ,本節(jié)主要介紹future的內(nèi)容,練習代碼地址。本文參考http:/...
    jorion閱讀 15,056評論 1 5

友情鏈接更多精彩內(nèi)容