#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 當沒有建構函式時,計算機會預設乙個無引數建構函式 當程式設計師寫了乙個有引數的建構函式,系統就不...