#include
"stdafx.h"
#include
"iostream.h"
class circle
{
private:
int x,y,r;
static int num;
public:
static void print(circle s);
void add();
circle(int a,int b,int c);
};
void circle::print(circle s)
{
// cout<<
"圆心:("<<x<<
","<<y<<
")"<<endl;//错,静态函数中不能调用非静态数据成员
// cout<<
"半径:"<<r<<endl;
cout<<
"静态量:"<<num<<endl;
cout<<
"圆心:("<<s.x<<
","<<s.y<<
")"<<endl;
cout<<
"半径:"<<s.r<<endl<<endl;
}
void circle::add()
{
num++;
}
circle::circle(int a,int b,int c)
{
x=a;
y=b;
r=c;
}
int circle::num=0;//静态数据成员必须初始化,而且也只有这么一种引用模式,只能写在这里,写在main函数里面也是错的
int main(int argc, char* argv[])
{
circle p1(0,0,1);
p1.add();
p1.print(p1);//能够像其它函数同样引用
circle *p2=
NULL;
p2=
new circle(0,0,2);
p2->add();
circle::print(*p2);//也能够用类的方式引用
delete p2;
p2=
NULL; return 0; }