[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] C++ problem



Ok....du skal vel egentlig også overstyre assignment operatoren så du
kan tildele vektoren værdien 0.


Vektor & Vektor::operator=(const int value)
{
        return Vektor(0,0,0);
}

Noget i den retning vil (sikkert) virke.   :-)

Robert Larsen wrote:

> Din CAverage klasse virer fint som den er.
> Du må bare overstyre == operatoren i din vektor klasse.
>
> bool Vektor::operator==(int num) {
>     return (this->length() == num);
> }
>
> Mon ikke det ville virke ?
>
> Venlig hilsen
>
> Robert
>
> Carsten Svaneborg wrote:
>
> > Hej!
> >
> > Jeg forsøger at lave en template klasse til at tage averages dvs.
> >
> > template<class T>
> > class CAverage
> > {
> >   private:
> >     unsigned int n;
> >     T x;
> >
> >   public:
> >     CAverage(void): n(0) {x=0;};  // PROBLEM!!
> >
> >     void Add(const T& y)
> >       {
> >         x+=y; n++;
> >         if (n == 0xffffffff) {cerr << "Overflow in Average!!\n";}
> >       };
> >
> >     T Average() const
> >       {
> >         if (n==0) return x;
> >              else return x/n;
> >       }
> > };
> >
> > Jeg ønsker at ovenstående klasse skal kunne tage averages af
> > hvad som helst, hvor operatore T operator +=(const T&),
> > T operator/=(double), og copy operationen er definerede.
> >
> > Problemet er nul elementet. Hvordan specificere jeg et nul
> > element uden at kende typen på forhånd?
> >
> > Rent praktisk er T en hjemme implementet dynamisk vector
> > klasse af 3 doubles: CDynVector<double,3>.
> >
> > Kan jeg implementere et nul element, således at ovenstående
> > klasse automatisk finder ud af hvad det relevante nul element
> > er for class T??
> >
> > Jeg spekulerede på noget som T::Zero hvor Zero er et statisk
> > element af typen T i alle T klasser. Men jeg vil meget nødigt
> > øge hukommelses forbruget, fordi det er kritisk. (P.t. bruger
> > jeg 250Mb ram når jeg køre programmet).
> >
> > Jeg tror p.t. jeg bliver nød til at lave en metode i CDynVector,
> > der initalisere et element til 0.
> >
> > Så "x=0;" bliver x.zero();
> >
> > Det syntes dog lidt upraktisk ifht. en notation som x=(T)0;
> > eller x=T::Zero;
> >
> > Nogle forslag??
> >
> > --
> >   Carsten Svaneborg   http://www.mpip-mainz.mpg.de/~svanebor
> > <out of signature error, please reboot internet>

--
<>  "The rumors that Unix is not userfriendly are lie.                  <>
||   Unix is userfriendly.                                              ||
||   It is just extremely selective with whom it wants to be a friend." ||
||----------------------------------------------------------------------||
||  Robert Chris Bang Larsen           sslug@sslug         ||
<>                                                                      <>





 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *