几个典型的小例子

来源:互联网 发布:linux 8080端口 编辑:程序博客网 时间:2024/04/28 01:05

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;}