#include<iostream>
using namespace std;
class example{
private:
int a;
static int s;
public:
example(int m);
void add(int m);
void print();
};
example::example(int m)
{
a=m;
}
void example::add(int m)
{
s*=a+m;
}
int example::s=5;
void example::print()
{
cout<<"s="<<s<<endl;
}
int main()
{
example e(10);
e.add(5);
e.print();
return 0;
}
运行结果:
s=75
分析:由于下Add函数中,m+a值赋给了S的地址,所以15*5为s的值
#include<iostream>
using namespace std;
class example{
private:
int a;
static int s;
public:
example(int m);
void add(int m);
void print();
};
example::example(int m)
{
a=m;
}
void example::add(int m)
{
// s*=a+m;
s=a+m;
}
int example::s=5;
void example::print()
{
cout<<"s="<<s<<endl;
}
int main()
{
example e(10);
e.add(5);
e.print();
return 0;
}
运行结果:s=15