/*
*copyright (c)2015,烟台大学计算机学院
*All rights reserved
*文件名称:project.cpp
*作者:孙春红
*完成日期:2015年4月5日
*版本号:v1.0
*
*问题描述:阅读程序;
*输入描述:略。
*程序输出:略。
*/
#include<iostream>
using namespace std;
class myClass
{
public:
myClass()
{
number++;
}
~myClass()
{
number--;
}
static int number;
};
int myClass::number=0;//静态变量初始化
int main()
{
myClass *ptr;
myClass A,B;
myClass *ptr_Arr=new myClass[3];
ptr=ptr_Arr;
myClass C;
cout<<myClass::number<<endl;
delete []ptr;
return 0;
}
结果:
6
理解:程序每访问到my class一次,就运行一次my class函数,执行一次number++,所以最后加到了6最后delete时,执行析构函数,number--。
(6) 请写出下面程序的输出结果
#include <iostream>
using namespace std;
class Test
{
private:
static int val;
int a;
public:
static int func();
static void sfunc(Test &r);
};
int Test::val=20;
int Test::func()
{
val+=val;
return val;
}//静态成员函数可处理被声明为的静态数据成员
void Test::sfunc (Test &r)
{
r.a=25;
cout<<"Result3="<<r.a<<endl;
}
int main()
{
cout <<"Resultl="<<Test::func()<<endl;
Test a;
cout<<"Result2="<<a.func()<<endl;//静态成员函数不能处理非静态成员函数,声明为静态成员函数后,便可用Test::func()得形式
Test::sfunc (a);
return 0;
}
结果:
Resultt1=40
Result2=80
Result3=25
学习心得:
阅读程序时,单步执行是一个很好的工具让我们了解程序是如何运行的。