c++面向?qū)ο蟮囊恍﹩栴}1.0

  1. 構(gòu)造函數(shù)

    特殊的成員函數(shù),給對象的初始化吩愧,不需要用戶調(diào)用芋酌,建立對象時,自動執(zhí)行
    它的函數(shù)名字與類相同雁佳,可以重載脐帝,沒有返回值和函數(shù)類型。
    如果不寫構(gòu)造函數(shù)糖权,類會給出一個無參數(shù)的構(gòu)造函數(shù)堵腹。

    復(fù)制構(gòu)造函數(shù)
    a.程序新建立一個對象時,用另一個對象對它初始化星澳。
    b. 函數(shù)的參數(shù)為對象疚顷。
    c. 函數(shù)的返回值為對象。


  2. 特殊的數(shù)據(jù)成員

    常數(shù)據(jù)成員禁偎,const聲明腿堤,其值不能改變。 const string sex;
    靜態(tài)數(shù)據(jù)成員,static聲明如暖,屬于類笆檀,只能在類外初始化。 static double height;
    引用數(shù)據(jù)成員,&聲明盒至,是本人的別名酗洒。 char &c;


  3. 特殊的函數(shù)

    常成員函數(shù)浸船,只能引用本類的數(shù)據(jù)成員,不能修改它們寝蹈。 void prconst()const
    靜態(tài)成員函數(shù)李命,屬于類,在類外調(diào)用可以用類名加域運算符號箫老,也可以對象名調(diào)用函數(shù)封字。 Person::prHeight();


  4. 內(nèi)存的動態(tài)分配和撤銷。

    c語言用malloc,free函數(shù)耍鬓,c++用new阔籽,delete。 //懷念java了牲蜀。
    Person *p3 = new Person("王五",88); 開辟了存放對象的空間笆制,并初始化值。
    delete p3; //回收開辟的內(nèi)存涣达。





    相關(guān)的代碼

#include <iostream>
#include<string>
using namespace std;

class Person {
protected:
    string name;
    int age;
    const string sex; //const形數(shù)據(jù)成員,引用形數(shù)據(jù)成員在辆,只能通過初始化列表初始化。
    static double height;
public:
    Person() {

    }
    Person(string na) :name(na) //初始化列表,要和成員函數(shù)對應(yīng)
    {

    }
    Person(string na,int ag,string se) :name(na),age(ag),sex(se) //初始化列表,要和成員函數(shù)對應(yīng),不然會出錯
    {

    }
    /*
      this指針指向本對象
    */
    Person(string name, int age) {  //采用this指針
        this->name = name; //java里面是 this.name=name; 搞混了度苔。
        this->age = age;
    }

     void prconst()const {
        cout << "const成員函數(shù)"<<endl;

 }
 //靜態(tài)成員函數(shù)匆篓,只能調(diào)用靜態(tài)成員,它屬于類寇窑,可以用類名調(diào)用鸦概,加域作用符號,但是非靜態(tài)成員函數(shù)也可以調(diào)用它
    static void prHeight() { 
        cout << height << endl;
     }

    void toString();
    /*
    析構(gòu)函數(shù)甩骏,對象生命周期結(jié)束窗市,會自動執(zhí)行析構(gòu)函數(shù)
      先構(gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu)饮笛。
    */
    ~Person() {
        cout << "析構(gòu)函數(shù)" << endl;
        print2();
    }

    /*
    復(fù)制構(gòu)造函數(shù)與類同名咨察,采用引用,即別名缎浇。
    */
    Person(const Person&p) 
    {  //復(fù)制構(gòu)造函數(shù)
        cout << "復(fù)制構(gòu)造函數(shù) ";
        name = p.name;
        age = p.age;
    }
/*
 內(nèi)置函數(shù)扎拣,減小時間開銷
  c++類置函數(shù)要關(guān)鍵字inline聲明,但是類中定義的成員函數(shù)可以省略inline素跺,
  因為這些成員函數(shù)已經(jīng)被隱含的指定為內(nèi)置函數(shù)二蓝。如果類外定義,需要加上inline關(guān)鍵字指厌。
     內(nèi)置成員函數(shù)刊愚,是不包括循環(huán)等控制結(jié)構(gòu)的函數(shù)。
*/

inline void print1() {
        cout << "name=" << name << endl;
  }
    void print2(){
        cout << "name=" << name << "  " << "age=" << age << " " << "sex=" << sex <<endl;
    }

};
/*
類外定義函數(shù)時踩验,必須在函數(shù)名前面加上類名鸥诽。因為在類外定義不知道函數(shù)屬于哪個類商玫。
  class_name :: function()
*/
void Person::toString() {
    cout << "[" << "name=" << name << "  " << "age=" << age << "]" << endl;
}

double Person::height = 1.72; //靜態(tài)成員初始化

int main()
{
    cout<<"類的大小:" << sizeof(Person) << endl;
    Person p("王小二");
    p.print1();
    Person::prHeight(); //類調(diào)用
    Person  peo("張三", 66); //java是 Person  peo=new Person("張三", 66);
    peo.toString();

    Person pe = peo; //等價于Person pe(peo);
    pe.toString();
    
    Person p1("李四", 22, "男");
    p1.print2();

    /*用復(fù)制構(gòu)造函數(shù),給const對象賦值牡借。
    const對象不能修改拳昌,只能調(diào)用const函數(shù)。
    */
    const Person p2; 
    p2.prconst();

    Person *p3 = new Person("王五",88); //new動態(tài)申請一塊內(nèi)存
    p3->toString();
    delete p3; //動態(tài)釋放內(nèi)存钠龙,防止內(nèi)存泄漏 炬藤,有些懷念java,GC機制。


    system("pause");
    return 0;
}



結(jié)果
代碼結(jié)果.PNG


決定開始寫博客了碴里,設(shè)計到j(luò)ava沈矿,c++等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咬腋,一起剝皮案震驚了整個濱河市羹膳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌根竿,老刑警劉巖陵像,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異犀填,居然都是意外死亡蠢壹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門九巡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹂季,你說我怎么就攤上這事冕广。” “怎么了偿洁?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵撒汉,是天一觀的道長。 經(jīng)常有香客問我涕滋,道長睬辐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任宾肺,我火速辦了婚禮溯饵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锨用。我一直安慰自己丰刊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布增拥。 她就那樣靜靜地躺著啄巧,像睡著了一般寻歧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秩仆,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天码泛,我揣著相機與錄音,去河邊找鬼澄耍。 笑死弟晚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逾苫。 我是一名探鬼主播卿城,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铅搓!你這毒婦竟也來了瑟押?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤星掰,失蹤者是張志新(化名)和其女友劉穎多望,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氢烘,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡怀偷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了播玖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椎工。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜀踏,靈堂內(nèi)的尸體忽然破棺而出维蒙,到底是詐尸還是另有隱情,我是刑警寧澤果覆,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布颅痊,位于F島的核電站,受9級特大地震影響局待,放射性物質(zhì)發(fā)生泄漏斑响。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一钳榨、第九天 我趴在偏房一處隱蔽的房頂上張望舰罚。 院中可真熱鬧,春花似錦重绷、人聲如沸沸停。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愤钾。三九已至瘟滨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間能颁,已是汗流浹背杂瘸。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伙菊,地道東北人败玉。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像镜硕,于是被迫代替她去往敵國和親运翼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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

  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束兴枯,并將收入和稅金輸出到文件tax. out血淌。 檢查...
    SeanC52111閱讀 2,776評論 0 3
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評論 1 51
  • 總體上必須清楚的:1)程序結(jié)構(gòu)是三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch...
    靜熙老師哈哈哈閱讀 810評論 1 20
  • 一個博客,這個博客記錄了他讀這本書的筆記财剖,總結(jié)得不錯悠夯。《深度探索C++對象模型》筆記匯總 1. C++對象模型與內(nèi)...
    Mr希靈閱讀 5,583評論 0 13
  • 偶然翻了高中一些同學(xué)的朋友圈,熟悉的咪橙,陌生的夕膀,發(fā)現(xiàn)他們身邊的人換了又換,如今也已物是人非匣摘。原來我們的生活圈子真的改...
    菜小菜and畫畫的小菜閱讀 214評論 0 2