vc上运行通不过一段代码
#include<iostream.h>
class SimpleCirle
{
public:
SimpleCirle();
SimpleCirle(int);
SimpleCirle(const SimpleCirle &);//拷贝构造函数 常引用
~SimpleCirle(){delete itsRadius;}
void SetRadius(int);
int GetRadius()const;
Private:
int *itsRadius;
};
SimpleCirle::SimpleCirle()
{itsRadius=new int(5);}
SimpleCirle::SimpleCirle(int)
{itsRadius=new int(radius);}
SimpelCirle::SimpleCirle(const SimpleCirle &rhs)
{
int val=rhs.GetRadius();
itsRadius=new int(val);
}
int SimpleCirle::GetRadius()const
{return *itsRadius;}
void main()
{
SimpleCirle Cirleone,Cirletwo(9);
cout<<"Cirleone:"<<Cirleone.GetRadius()<<endl;
cout<<"Cirletwo:"<<Cirletwo.GetRadius()<<endl;
}
:\VC++6.0\MSDev98\MyProjects\2\43.cpp(12) : error C2062: type 'int' unexpected
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(12) : error C2238: unexpected token(s) preceding ';'
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(15) : error C2065: 'itsRadius' : undeclared identifier
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(15) : error C2440: '=' : cannot convert from 'int *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(17) : error C2065: 'radius' : undeclared identifier
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(17) : error C2440: '=' : cannot convert from 'int *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(18) : error C2653: 'SimpelCirle' : is not a class or namespace name
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(21) : error C2440: '=' : cannot convert from 'int *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(22) : warning C4508: 'SimpleCirle' : function should return a value; 'void' return type assumed
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(24) : error C2100: illegal indirection
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(27) : error C2146: syntax error : missing ';' before identifier 'Cirleone'
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(27) : warning C4551: function call missing argument list
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(27) : error C2065: 'Cirleone' : undeclared identifier
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(27) : error C2065: 'Cirletwo' : undeclared identifier
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(28) : error C2228: left of '.GetRadius' must have class/struct/union type
D:\VC++6.0\MSDev98\MyProjects\2\43.cpp(29) : error C2228: left of '.GetRadius' must have class/struct/union type
Error executing cl.exe.
43.exe - 14 error(s), 2 warning(s)
[解决办法]
class SimpleCirle{public: SimpleCirle(); SimpleCirle(int); SimpleCirle(const SimpleCirle &);//拷贝构造函数 常引用 ~SimpleCirle(){delete itsRadius;} void SetRadius(int); int GetRadius()const;private: int *itsRadius;};SimpleCirle::SimpleCirle(){itsRadius=new int(5);}SimpleCirle::SimpleCirle(int radius){itsRadius=new int[radius];}SimpleCirle::SimpleCirle(const SimpleCirle &rhs){ int val=rhs.GetRadius(); itsRadius=new int(val);}int SimpleCirle::GetRadius()const{return *itsRadius;}void main(){ SimpleCirle Cirleone,Cirletwo(9); cout<<"Cirleone:"<<Cirleone.GetRadius()<<endl; cout<<"Cirletwo:"<<Cirletwo.GetRadius()<<endl;}