再谈sizeof

#include <bits/stdc++.h>

using namespace std;

int c;
static int d;

class e
{
	public:
	e()
	{
		cout<<"e"<<endl; 
	}

		int f;
		static int g;	//类中的static变量不会计入 sizeof中 
//	private:	声名为private的函数继承中不可用 
	void pri()
	{
		cout<<"base_e"<<endl;
	} 
	~e()
	{
		cout<<"d_base_e"<<endl;
	} 
};

class ano_e : public e
{
	public:
	ano_e()
	{
		cout<<"ano_e"<<endl;
	}
};

int main()
{
	int a;
	cout<<sizeof(a)<<endl;
	
	int *b[4];
	cout<<sizeof(*b)<<" "<<sizeof(b)<<" "<<**b<<" "<<sizeof(**b)<<endl; 
	cout<<sizeof(&*b)<<endl;
	 
	 cout<<sizeof(c)<<endl;
	 cout<<sizeof(d)<<endl;
	 
	 cout<<sizeof(e)<<endl;
	 
	 ano_e h;	//继承类先运行被继承的构造函数 
	 h.pri();
}


通过运行代码我们可以看出,静态变量为全局变量时,还是会有sizeof值,在类中并没有值;另外,继承类时会先运行被继承类的构造函数,private继承时会有问题,后面具体再谈面向对象设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值