矢量vector

vector存儲類對象:

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
 
class point{
public:
    point(int _x =0, int _y =0 ):x(_x), y(_y){};
    int GetX(void) const { return x;}
    int GetY(void) const { return y;}
private:
    int x,y;
};

int _tmain(int argc, _TCHAR* argv[])
{
    vector<point> vec;
    vec.push_back(point(1,2));
    vec.push_back(point(2,2));
 
    for (auto itr = vec.cbegin(); itr != vec.cend(); ++itr)
    {
        cout<<"point("<<itr->GetX()<<","<<itr->GetY()<<")"<<endl;
    }

    getchar();
    return 0;
}

輸出結(jié)果:


result1.PNG

存儲類指針:

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
 
class Point{
public:
    Point(int x =0, int y =0 ):x(x), y(y){};
    int GetX(void) const { return x;}
    int GetY(void) const { return y;}
private:
    int x,y;
};

int _tmain(int argc, _TCHAR* argv[])
{
    //存儲類指針
    vector<Point*> vecptr;
    for (int i = 0; i < 5; i++)
    {
        Point pt;
        Point* ptr=&pt; //此種方法為pt分配的地址都是一樣的锣杂,不可行
        vecptr.push_back(ptr);
    }
    for (int i = 0; i < vecptr.size(); i++)
    {
        cout<<vecptr[i]<<endl;  //地址都相同
    }
    cout<<endl;
    cout<<endl;

    vecptr.clear(); //清空矢量容器
    for (int i = 0; i < 5; i++)
    {
        Point* ptr=new Point(); //此法可行菠发,分配成功返回地址
        vecptr.push_back(ptr);
    }
    for (int i = 0; i < vecptr.size(); i++)
    {
        cout<<vecptr[i]<<endl;  //地址都不同,可行
    }
    cout<<endl;

    //存儲類對象
    vector<Point> vec;
    for (int i = 0; i < 10; i++)
    {
        Point pt;
        vec.push_back(pt);
    }
    for (int i = 0; i < vec.size(); i++)
    {
        cout<<&vec[i]<<endl;
    }
    getchar();
    return 0;
}

輸出結(jié)果:


result2.PNG

指向基類的vector用法:

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
 
class Polygon 
{
protected:
    int width, height;
public:
    void set_values (int a, int b)
    {
        width=a; 
        height=b; 
    }
    virtual int area() const = 0;
};
 
class Rectangle: public Polygon 
{
public:
    virtual int area() const 
    { 
        return width*height;
    }
};
 
class Triangle: public Polygon 
{
public:
    virtual int area() const 
    { 
        return width*height/2; 
    }
};
int _tmain(int argc, _TCHAR* argv[])
{
    Rectangle rect;
    Triangle trgl;
    vector<Polygon*> vec;   //指向基類的矢量容器

    Polygon * ppoly1 = &rect;
    ppoly1->set_values (4,5);
    vec.push_back(ppoly1);

    Polygon * ppoly2 = &trgl;
    ppoly2->set_values (4,5);
    vec.push_back(ppoly2);
    
    for (auto itr = vec.cbegin(); itr != vec.cend(); ++itr) //不知道用什么類型時可以選擇用auto
    {
        cout << (*itr)->area() << '\n';
    }
    getchar();
    return 0;
}

輸出結(jié)果:
20
10

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锐极,一起剝皮案震驚了整個濱河市牺弄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖缀辩,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踪央,居然都是意外死亡臀玄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門畅蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來健无,“玉大人,你說我怎么就攤上這事魁莉〔墙В” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵旗唁,是天一觀的道長畦浓。 經(jīng)常有香客問我,道長检疫,這世上最難降的妖魔是什么讶请? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮屎媳,結(jié)果婚禮上夺溢,老公的妹妹穿的比我還像新娘。我一直安慰自己烛谊,他們只是感情好风响,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丹禀,像睡著了一般状勤。 火紅的嫁衣襯著肌膚如雪鞋怀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天持搜,我揣著相機與錄音密似,去河邊找鬼。 笑死葫盼,一個胖子當(dāng)著我的面吹牛残腌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贫导,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼抛猫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了孩灯?” 一聲冷哼從身側(cè)響起邑滨,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钱反,沒想到半個月后掖看,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡面哥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年哎壳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尚卫。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡归榕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吱涉,到底是詐尸還是另有隱情刹泄,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布怎爵,位于F島的核電站特石,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鳖链。R本人自食惡果不足惜姆蘸,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芙委。 院中可真熱鬧逞敷,春花似錦、人聲如沸灌侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侧啼。三九已至牛柒,卻和暖如春愕秫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背焰络。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留符喝,地道東北人闪彼。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像协饲,于是被迫代替她去往敵國和親畏腕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法茉稠,類相關(guān)的語法描馅,內(nèi)部類的語法,繼承相關(guān)的語法而线,異常的語法铭污,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • 1.C和C++的區(qū)別?C++的特性膀篮?面向?qū)ο缶幊痰暮锰帲?答:c++在c的基礎(chǔ)上增添類嘹狞,C是一個結(jié)構(gòu)化語言,它的重...
    杰倫哎呦哎呦閱讀 9,518評論 0 45
  • 三十歲的女人像玫瑰誓竿,迷人磅网; 三十歲的女人像蘋果,好看又好吃筷屡; 三十歲的女人像一杯茶涧偷,清香,怡人毙死; 三十歲的女人像一...
    半象花閱讀 832評論 8 3
  • 讓你放開你的手機一小時,你最想干什么唉锌?
    亨利何閱讀 897評論 2 1
  • 紅薯餐從17年1月開始隅肥,前4次185天,本次44天袄简,償試180天腥放。5年的高血壓藥停了13個月!虎杖粉加蘿卜麻藥方第...
    南得糊涂呀閱讀 112評論 0 0