- #include <iostream>
- using namespace std;
- class human
- {
- public:
- human()
- {
- human_num++;
- }
- static int human_num;
- ~human()
- {
- human_num--;
- print();
- }
- void print()
- {
- cout<<"human num is:"<<human_num<<endl;
- }
- };
- int human::human_num=0;//类中静态变量需初始化
- human f1(human x)
- {
- x.print();
- return x;
- }
- void main()
- {
- human h1;//调用构造函数human_num++
- h1.print();
- human h2=f1(h1);//1.赋值时调用的是默认的构造函数
- //2.退出f1函数时,需要析构,则human_num--
- //3.在调用f1函数时,构造了临时实例
- h2.print();
- }