33,311
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
class student
{
public:
student(int x1, char* x2):m_num(x1),m_name(x2){}
operator char* ()const
{
return m_name;
}
operator int ()
{
return m_num;
}
private:
int m_num;
char* m_name;
};
int main()
{ int num;
char* name;
student *p=new student(11,"uh");
num=(int)p;
name=(char* )p;
cout<<num<<endl;
cout<<name<<endl;
return 0;
}
是能通过的
#include <iostream>
#include <string>
using namespace std;
class student
{
public:
student(int x1, string x2):m_num(x1),m_name(x2){}
operator string ()const
{
return m_name;
}
operator int ()
{
return m_num;
}
private:
int m_num;
string m_name;
};
int main()
{ int num;
string name;
student *p=new student(11,"uh");
num=(int)p;
name=(string )p;
cout<<num<<endl;
cout<<name<<endl;
return 0;
}
这个就有问题了