第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

趣味 C++ 進階

難度初級
時長 8小時 0分
學(xué)習(xí)人數(shù)
綜合評分9.60
10人評價 查看評價
10.0 內(nèi)容實用
8.8 簡潔易懂
10.0 邏輯清晰
  • Coder 繼承自 Staff class Coder : public Staff { };
    查看全部
  • 可以看到,在 C++ 默認的復(fù)制模式之下,兩個對象中的 mem 指針指向了同一片內(nèi)存。因為 C++ 默認的復(fù)制模式只會簡單得把成員的值進行復(fù)制,面對這個 mem 指針,他只會把指針的值進行拷貝,最后的結(jié)果就是 mem 指針指向了同一片內(nèi)存。 這種拷貝方式,被稱之為淺拷貝
    查看全部
  • #include "Staff.hpp" #include <stdio.h> Staff::Staff(std::string _name, int _age) { mem = (char *)malloc(20); name = _name; age = _age; printf("構(gòu)造函數(shù)被調(diào)用\n"); } Staff::~Staff() { if(mem != nullptr){ free(mem); mem = nullptr; } printf("析構(gòu)函數(shù)被調(diào)用\n"); } 代碼塊預(yù)覽復(fù)制 在上面的代碼中,在類中定義了一個指針,在構(gòu)造函數(shù)中,通過 malloc 函數(shù)分配了一個 20 字節(jié)大小的堆內(nèi)存,然后將這片堆內(nèi)存的首地址賦值給了這個指針。在析構(gòu)函數(shù)中,我們將這片堆內(nèi)存釋放掉。
    查看全部
  • 對象實例化的時候,會調(diào)用構(gòu)造函數(shù),而對象銷毀的時候,就會調(diào)用析構(gòu)函數(shù)。我們先來嘗試寫一個析構(gòu)函數(shù): Staff.hpp #include <string> class Staff { public: Staff(std::string _name, int _age); ~Staff(); public: std::string name; int age; }; 代碼塊預(yù)覽復(fù)制 Staff.cpp #include "Staff.hpp" #include <stdio.h> Staff::Staff(std::string _name, int _age) { name = _name; age = _age; printf("構(gòu)造函數(shù)被調(diào)用\n"); } Staff::~Staff() { printf("析構(gòu)函數(shù)被調(diào)用\n"); } 代碼塊預(yù)覽復(fù)制 調(diào)用代碼不改,然后再運行一下。我們發(fā)現(xiàn),程序在調(diào)用了構(gòu)造函數(shù)之后,又調(diào)用了析構(gòu)函數(shù)。 我們之前講過棧內(nèi)存,這個對象是分配在棧上面的,實例化的時候,調(diào)用了構(gòu)造函數(shù),而緊接著,main 函數(shù)就要結(jié)束了,這個棧對象就自動銷毀了,銷毀的時候,就調(diào)用了析構(gòu)函數(shù)。
    查看全部
  • 此外,構(gòu)造函數(shù)是可以有參數(shù)的,我們常常用構(gòu)造函數(shù)來進行初始化。例如,我們可以利用構(gòu)造函數(shù)對 name 和 age 進行傳值。 Staff.hpp #include <string> class Staff { public: Staff(std::string _name, int _age); public: std::string name; int age; }; Staff.cpp #include "Staff.hpp" #include <stdio.h> Staff::Staff(std::string _name, int _age) { name = _name; age = _age; } 當(dāng)然,對于有參數(shù)的構(gòu)造函數(shù),調(diào)用的時候只要傳進去參數(shù)就行了?,F(xiàn)在,我們可以創(chuàng)建一個名叫 “mooc”,29 歲的員工了。 #include <stdio.h> #include "Staff.hpp" int main(int argc,char **argv) { Staff staff("mooc", 29); return 0; }
    查看全部
  • #include <string> class Staff { public: Staff(); }; 可以看到,這里定義了一個和名稱和類名相同,沒有返回值的函數(shù),這個函數(shù)稱為構(gòu)造函數(shù)。構(gòu)造函數(shù)的特殊之處在于,他會在類實例化的時候被調(diào)用
    查看全部
  • 函數(shù)的重載 #include <string> class Staff { public: void FuncA(); void FuncA(int a); }; 這個類中,我們定義了兩個函數(shù),都叫做 FuncA,但是他們的參數(shù)不一樣,一個沒有參數(shù),一個參數(shù)是一個 int 類型的變量。這種情況下,兩個函數(shù)都是有效的。而在調(diào)用的時候,C++ 會根據(jù)調(diào)用者傳入的函數(shù)自行匹配相應(yīng)的實現(xiàn)。
    查看全部
  • 成員函數(shù)的重載是指在同一個類中,函數(shù)名字相同,函數(shù)參數(shù)不同的函數(shù)。
    查看全部
  • 嘗試在類的外部調(diào)用 private 修飾的 FuncB 函數(shù),就會發(fā)現(xiàn)編譯器報錯了。因為 private 修飾的函數(shù)只能在類中被其他成員函數(shù)調(diào)用,例如,可以在 FuncA 中調(diào)用 FuncB
    查看全部
  • 成員函數(shù)同樣受到權(quán)限修飾符的限制
    查看全部
  • #include <string> class Staff { public: std::string name; int age; int PrintStaff(); }; 代碼塊預(yù)覽復(fù)制 在頭文件中,定義一個成員函數(shù),這個成員函數(shù)的功能是打印雇員的信息。而這個函數(shù)的實現(xiàn),是在 .cpp 文件里面實現(xiàn)的。 打開 .cpp 文件,先 include 頭文件,然后用以下的代碼對函數(shù)進行實現(xiàn)。 #include "Staff.hpp" int Staff::PrintStaff() { printf("Name: %s\n", name.c_str()); printf("Age: %d\n", age); return 0; }
    查看全部
  • protected 用來指定保護成員。一般是允許在子類中訪問
    查看全部
  • public 用來指定公有成員。一個類的公有成員在任何地方都可以被訪問。例如: class A { public: int a; int b; } 代碼塊預(yù)覽復(fù)制 用 public 修飾的,在外部是可以訪問的: int main(int argc,char **argv) { A a; a.a = 15; // 不會報錯,因為成員變量是 public 的 return 0; }
    查看全部
  • private 用來指定私有成員。一個類的私有成員,不論是成員變量還是成員函數(shù),都只能在該類的內(nèi)部才能被訪問
    查看全部
  • 權(quán)限修飾符:private,public
    查看全部

舉報

0/150
提交
取消
課程須知
你需要具備基礎(chǔ)的 C++ 語法知識,在學(xué)習(xí)本課程之前,建議先學(xué)習(xí)《趣味 C++ 入門》,快速認識 C++,熟悉 C++ 基本語法,更加快速入手進階課程!
老師告訴你能學(xué)到什么?
在本門課程中,你將學(xué)習(xí)到:計算機存儲數(shù)據(jù)的原理、指針的進階、面向?qū)ο缶幊?、?nèi)存管理技巧等 C++ 高級語法。在課程的最后,將帶領(lǐng)大家使用 C++ 編寫一個五子棋游戲,通過實踐,加深理解,鞏固學(xué)習(xí)成果。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!