您的位置:首页 > 其它

*运算符,->运算符重载与智能指针

2017-04-24 22:03 288 查看
class person

{

public:
int age;
string name;

public:
person()
{
age = 30;
name = "vinny";
}
void printperson()
{
cout << age << "  " << name << endl;
}

};

class pointer//智能指针

{

public:
person* ppointer;
pointer(person* per)
{
ppointer = per;
}
person* operator->()//重载->
{
return ppointer;
}
person& operator*()//重载*
{
return *ppointer;
}
~pointer()
{
if (ppointer != NULL)
{
delete ppointer;
ppointer = NULL;
}

}

};

void test()

{
pointer p(new person);
p->printperson();//重载->运算符
cout << (*p).age << endl;//重载*运算符

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐