Re: FAQ Issue
From: Rob Williscroft (rtw_at_freenet.REMOVE.co.uk)
Date: 02/10/04
- Next message: Carl Muller: "Re: why does const not work on pointed objects?"
- Previous message: Claudio Puviani: "Re: placement new , is this acceptable?"
- In reply to: Loran Hayden: "FAQ Issue"
- Next in thread: Loran Hayden: "Re: FAQ Issue"
- Reply: Loran Hayden: "Re: FAQ Issue"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 10 Feb 2004 15:15:22 GMT
Loran Hayden wrote in
news:%h6Wb.7757$TPZ.4776@twister01.bloor.is.net.cable.rogers.com:
[snip]
>
template < typename T >
> class FredPtr;
>
> template<typename t> // Modified code
> class Fred {
> public:
> Fred() : count_(0){ }
> private:
> friend FredPtr;
Your missing a "class" above, change too:
friend class FresPtr< T >;
> unsigned count_;
> t _t; //
> Modified
> code
P.S when posting to usenet use /* style */ coments they wrap better.
> };
>
template <typename T>
> class FredPtr {
> public:
> Fred* operator-> () { return p_; }
Should now be:
Fred< T > * operator-> () { return p_; }
etc ...
>
> Fred& operator* () { return *p_; }
>
> FredPtr(Fred* p) : p_(p) { ++p_->count_; }
>
> ~FredPtr() { if (--p_->count_ == 0) delete p_; }
>
> FredPtr(const FredPtr& p) : p_(p.p_) { ++p_->count_; }
>
> FredPtr& operator= (const FredPtr& p)
> {
> ++p.p_->count_;
> if (--p_->count_ == 0) delete p_;
> p_ = p.p_;
> return *this;
> }
>
> private:
> Fred* p_;
> };
>
[snip]
HTH.
Rob.
-- http://www.victim-prime.dsl.pipex.com/
- Next message: Carl Muller: "Re: why does const not work on pointed objects?"
- Previous message: Claudio Puviani: "Re: placement new , is this acceptable?"
- In reply to: Loran Hayden: "FAQ Issue"
- Next in thread: Loran Hayden: "Re: FAQ Issue"
- Reply: Loran Hayden: "Re: FAQ Issue"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|