日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类属性的存储和this指针

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类属性的存储和this指针 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> using namespace std; //C++是如何管理普通成員函數還有靜態成員函數以及靜態成員數據的 //C++類對象中的成員變量和成員函數是分開存儲的 //普通成員變量存儲在對象中 于 struct具有相同的內存布局和字節對齊方式 //靜態成員變量存儲于全局數據區中 //成員函數:存儲于代碼中 //C++中類的普通成員函數都隱士的包含了一個指向當前對象的this指針 //靜態成員函數、成員變量屬于類 //靜態成員函數與普通成員函數的成員函數的區別 //靜態成員函數不包含指向具體對象的指針 //普通成員函數包含指向具體成員函數的指針class c1{public:int i;;int j;int k;protected:private:};//12class c2{public:int i;int j;int k;static int m; //靜態數據 不算入類的大小 public:int getK() const {return k;} //類中的方法void setK(int val) {k = val;}protected:private:};//12class s1{public:int i;int j;int k;protected:private:}; //12class s2{public:int i;int j;int k;static int m(void){};static int x(void){};protected:private:};//12class Test{public:Test(int a,int b) //Test(Test * this,int a,intb){this->a = a; //當參數的名稱和類變量名稱相同的時候 可以使用this指針this->b =b;};void printT(){//類中可以使用this指針cout << this->a << endl;cout << this->b <<endl;}protected:private:int a;int b;}; int main() {Test t1(1,2);t1.printT(); //this 指針 t1.printT(&t1);cout << sizeof(c1) << endl;cout << sizeof(c2) << endl;cout << sizeof(s1) << endl;cout << sizeof(s2) << endl;cout << "hello world!" << endl;system("pause");return 0; }

類中有靜態變量的時候要在外部進行初始化 但是當靜態變量是私有屬性的時候只能進行初始化不能夠引用例如

class B {public:private:int a;int b;static int c;B::c = 10; //在外面進行初始化 ,但是不能夠進行引用

靜態成員函數能夠調用靜態成員變量但是 不能夠調用非靜態成員函數或則變量

總結

以上是生活随笔為你收集整理的类属性的存储和this指针的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。