#include <iostream.h>
class point
{
public:
int t;
int k;
void get(int a,int b)
{
t=a;
k=b;
}
};
void main()
{
point x;
cout<<sizeof(x);
}
请问为什么这个类占8个字节,难道成员函数的形参不占空间和成员函数本身不占空间吗??
#include <iostream.h>
class point
{
public:
int t;
int k;
void get(int a,int b)
{
t=a;
k=b;
}
};
void main()
{
point x;
cout<<sizeof(x);
}
请问为什么这个类占8个字节,难道成员函数的形参不占空间和成员函数本身不占空间吗??
这个类占八个字节是因为类的成员变量为两个整型变量(int t;int k;),每个整型变量占4个字节.
成员函数和全局变量,静态变量一样,存储在静态区
形参不占空间,它只是一个声明。
因为在类里头有2个整形变量,定义X的时候就会给这两个变量(t和k)分配存储空间,int 是4个字节,2个整形就是8个字节。至于那个get函数,因为没有调用到他,所以不占存储空间!所以就是8个字节
不难理解吧!
形参是不占内存空间的,占内存空间的是实参。同样,内存空间也不为成员函数分配空间。