子函数中定义静态类的对象(还不错哦)(注意区别,析构与构造在子函数中的行为)

 

#include "iostream.h"
class Sample
{
public:
 /* 构造函数 */
 Sample()
 {
  cout<<"Constructor"<<endl;
 }
 /* 析构函数 */
 ~Sample()
 {
  cout<<"Destructor"<<endl;
 }
};
void fn(int i)
{
 //子函数fn中 定义静态 类对象 c.
 static Sample c;
 //直接输出 从实参传入的 (值传递 i的值).
 cout<<"i="<<i<<endl;
}
void main()
{
 fn(10);
 fn(20);
}
/*
 打印结果:
 Constructor
 i=10
 i=20
 Destructor
 
 此程序精华之处在于:
 子函数中构造静态类对象,让程序员了解到,静态类对象属于子函数时的生存方式周期以及
 身为子函数中的静态对象,析构与构造时的区别!

 当程序结束时,静态对象的析构函数才被调用!

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值