c primer 類與物件 1 學習記錄

2021-10-02 21:21:39 字數 1838 閱讀 5522

#include

#include

using

namespace std;

class

screen

//string型別變數內部都是統一字元,初始化可以用(size,'char name')來自動初始化

char

get(

)const

//不包含改值內容的函式一定要寫const

inline

char

get(pos ht,pos wd)

const

;//函式功能少,顯示內聯

screen &

move

(pos r,pos c)

;//改變物件的函式用 & 來宣告返回值

void

some_member()

const

; screen&

set(

char);

screen&

set(pos,pos,

char);

screen&

display

(ostream &os)

private

: pos cursor =0;

pos height =

0,width =0;

string contents;

mutable size_t access_ctr;

void

do_display

(ostream &os)

const};

inline screen& screen::

set(

char c)

inline screen& screen::

set(pos r,pos col,

char ch)

inline

screen &screen::

move

(pos r,pos c)

//類外定義改變類的函式,要用this指標

//this存了類變數的儲存條首位址

char screen::

get(pos r,pos c)

const

void screen::

some_member()

const

;//定義乙個新類

class

window_mgr;}

;class

screen1

;screen1

(int ht,

int wd,

char c)

:height

(ht)

,width

(wd)

,contents

(ht*wd,c)

; screen1&

set(

char);

//screen1& set(pos,pos,char);

//函式不確定形參名字,可以實現宣告型別,直到正式宣告時再給定名稱,但宣告了就一定要給出正式定義};

//類最後要寫分號

//列表初始化後面要加乙個花括號

intmain

(int argc,

char

const

*ar**)

class

link_screen

;//c++類裡面允許定義指向自己的指標和引用

//field 'window' has incomplete type 'link_screen',型別不完全錯誤,不能再類裡面宣告自己的例項

classx;

class

y;

c primer 類與物件 3 學習記錄

include using namespace std struct x 建構函式的初始化順序應該和宣告順序相同 錯誤 先初始化base,就需要先宣告base,否則編譯器不一定會報錯!class sales data ostream write ostream os const public sal...

python學習1 類與物件

鴨子型別 百科定義 當我看到乙隻鳥像鴨子一樣走,像鴨子一樣遊,像鴨子一樣呱呱叫,我就叫它鴨子 它不關注物件的型別,而是關注物件具有的行為。在python中,有乙個 extend 方法,它接收可迭代物件,它不關注物件的型別,只關注物件具有的方法行為。a 22 33 list1 2 3,4 5 tupl...

類與物件(1)

類與物件 1 主函式 public class text 這裡定義乙個人的類 class person public void setage int age 建構函式做初始化 public person 當沒有建構函式時,計算機會預設乙個無引數建構函式 當程式設計師寫了乙個有引數的建構函式,系統就不...