C++中静态成员的问题,请问这段程序哪里出错了??
#include<iostream.h>classpoint{intx,y;staticintcount;public:point(intxx=0,intyy=0){x=...
#include<iostream.h>
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--};
static int getcount()
{return count;}}
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
倒数第三行报错,error C2371: 'private: static int point::count' : redefinition; different basic types
但是count作为静态成员,不是只能在类外初始化么??这不算再定义吧……
不懂了。。求指教 展开
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--};
static int getcount()
{return count;}}
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
倒数第三行报错,error C2371: 'private: static int point::count' : redefinition; different basic types
但是count作为静态成员,不是只能在类外初始化么??这不算再定义吧……
不懂了。。求指教 展开
展开全部
一个小错误。
类定义结束的右大括号后面应该有个分号。你少了这个分号。
#include<iostream.h>
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--;}
static int getcount()
{return count;}
};
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
类定义结束的右大括号后面应该有个分号。你少了这个分号。
#include<iostream.h>
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--;}
static int getcount()
{return count;}
};
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
~point(){count--};这个应该是~point(){count--;}这样吧
至于你的count,在class的大括号后面加一个分号试试
也就是{return count;}}改成{return count;}};
至于你的count,在class的大括号后面加一个分号试试
也就是{return count;}}改成{return count;}};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--};<---------------分号你写外面?
static int getcount()
{return count;}}<--------------类定义结束你不加分号?
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--};<---------------分号你写外面?
static int getcount()
{return count;}}<--------------类定义结束你不加分号?
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类定义完了之后要加一个分号……否则倒数第三行的意思就是point int point::count=0; 这显然是不合法的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream.h>
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--;}
static int getcount()
{return count;}
};
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
class point
{ int x,y;
static int count;
public:
point(int xx=0,int yy=0)
{x=xx; y=yy; count++;}
~point(){count--;}
static int getcount()
{return count;}
};
int point::count=0;
void main()
{cout<<point::getcount()<<endl; }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询