①物件能提供服務(功能函式)
②建立物件,確定輸入、輸出引數,銷毀物件
建立物件:
//定義結構體
struct resultset
//建立物件
resultset* creat()
銷毀物件
void destory(resultset* obj)
①避免外部隨意呼叫,破壞資料內部的完整性
②使用函式介面會增加自由度(這一點怎麼理解?)
#include #include class rect
// 面積
int area()
// 周長
int perimeter()
private:
int m_x, m_y;
int m_width, m_height;
};int main()
在public中初始化成員變數,在main中傳入變數值
初始化成員變數函式必須傳入私有變數作為形參
所有成員變數前可加上this->(這樣更加容易理解)
有乙個類
class student
;
定義成員函式,使用this指標
#include #include class student
void setname(const char* name)
int getid()
const char* getname()
private:
int id;
char name[32];
};int main()
設定字串陣列時,傳入形參為const char* name,獲取字串陣列時,函式定義為const char* getname()
// 判斷p是否在矩形中
bool contain(const point& p)
private:
int m_x, m_y;
int m_width, m_height;
};int main()
else
return 0;
}傳入引數的格式const point& p(const 需要傳入的變數對應的類名& 類的重新命名)
①怎麼把16進製制轉化為10進製:每乙個字元先轉化為對應的10進製數(字元減字元的方法),將將兩位數通過16進製制的方式計算出來
②怎麼將陣列中的16進製制數轉化為字串:通過sprintf函式將對應位元組格式化輸出為字串,並給字串末尾新增0
#include #include // 網絡卡的實體地址
// 如5c-26-0a-86-7b-4a, 或5c:26:0a:86:7b:4a
class macaddress
} return 0;
} void tostring(char* output)
output[offset-1] = 0;
}private:
// 十六進製制的字元 轉成 數字
unsigned char hextoint(char c)
public:
unsigned char data[6];
};int main()
全域性唯一識別符號(guid,globally unique identifier)是長度為16位元組(128位)的識別符號,用文字表示為 「******xx-***x-***x-***x-************」 形式。
例如, 6f9619ff-8b86-d011-b42d-00c04fc964ff
試完成乙個類 afguid,並提示相應的轉換功能。
class afguid
afguid(const char* strvalue)
unsigned char* buffer()
int size()
// 格式化為標準格式的字串,存在output裡
void tostring(char* output)
// 解析乙個標準字串,得到16位元組,儲存到成員變數data裡
void from(const char* strvalue)
};
該類可以像以下方式使用
int main()
#include #include // 形如 6f9619ff-8b86-d011-b42d-00c04fc964ff
class afguid
afguid(const char* strvalue)
unsigned char* buffer()
int size()
void tostring(char* output)
void from(const char* strvalue) }
private:
// 將若干位元組格式化為16進製制字串, 追加在output後面
void format(char* output, const unsigned char* buf, int n)
// 將16進製制字串轉成位元組
void parse(const char* str, int n, unsigned char* output)
unsigned char v1 = hextoint(str[i]);
unsigned char v2 = hextoint(str[i+1]);
output[k] = v1 * 16 + v2;
k++;
i+=2;
} }};int main()
C C 中結構體與類
先來說說c和c 中結構體的不同 a c語言中的結構體不能為空,否則會報錯 1 d myproject visual studio 2013 projects myc main.c 71 error c2016 c 要求乙個結構或聯合至少有乙個成員 b c語言中的結構體只涉及到資料結構,而不涉及到演算...
C C 類和結構體的差別
c c 結構體的區別 c中的結構體和c 中結構體的不同之處 在c中的結構體只能自定義資料型別,結構體中不允許有函式,而c 中的結構體可以加入成員函式。c 中的結構體和類的異同 一 相同之處 結構體中可以包含函式 也可以定義public private protected資料成員 定義了結構體之後,可...
C C 類和結構體的區別
在c 中,結構體是一種特殊形態的類。類中的非static成員函式有this指標,類的關鍵字class能作為template模板的關鍵字 即template class a 而struct不可以。c 中,不使用結構體絲毫不會影響程式的表達能力。c 之所以要引入結構體,是為了保持和c程式的相容性。但有時...