C++(C++对象模型和this指针)

成员变量和成员函数分开存储

  • 在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上

示例:

#include <iostream>
using namespace std;

class Person
{
public:
      Person()
      {
            m_A=0;
      }
      
      //非静态成员变量占对象空间
      int m_A;

      //静态成员变量不占对象空间
      static int m_B;
      
      //函数也不占对象空间,所有函数共享一个函数实例
      void func()
      {
            cout<<"m_A"<<this->m_A<<endl;
      }
      
      //静态成员函数也不占对象空间
      static void sfunc()
      {}
};

int main(void)
{
      cout<<sizeof(Person)<<endl;
      return 0;
}
posted @ 2020-09-08 23:42  flyingswallow  阅读(108)  评论(0编辑  收藏  举报