#include<iostream>
using namespace std;
template<typename T>
class shared_Ptr
{
private:
T * px;
long * pn;
public:
T& operator * () const
{
return *px;
}
T* operator ->() const
{
return px;
}
shared_Ptr( T* p) : px(p) {}
};
class prin
{
public:
prin()
{
cout << "prin构造被调用" << endl;
}
void Cout()
{
cout << "指针调用打印helloword" << endl;
}
};
int main()
{
//prin a;
shared_Ptr<prin> p( new prin);
//按理说->重载调用后就消失,变成px Cout()
//但是C++里面有默认规则,会自动添->
//所以依然是px->Cout()
p->Cout();
(*p).Cout(); //不能*p.Cout()
return 0;
}
侯捷面向对象(下)04 类实现最基本的智能指针
最新推荐文章于 2023-10-07 11:27:49 发布