您的位置:首页 > 其它

几个典型的小例子

2011-10-08 20:26 183 查看
1、下面这个小例子,可以帮助理解变量的3种作用域(全局作用域、局部作用域、语句作用域)和构造函数与析构函数的调用顺序问题。

#include <iostream>
using namespace std;

class world
{
public:
world(int id):identifier(id)
{
cout<<"hello from"<<identifier<<endl;
}
~world()
{
cout<<"goodbye from"<<identifier<<endl;
}
private:
const int identifier;

};

world firstworld(1);//firstworld具有全局作用域

int main()
{
world smallworld(2);//smallworld具有局部作用域

for (int i=3;i<6;i++)
world aworld(i);//aworld具有for语句作用域,eg:i=3时,对象aworld被建立,aworld.identifier=3,当建立完成之后,i=4时,aworld(3)已经不存在了,已经调用其析构函数了!!!

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: