syfi team mailing list archive
-
syfi team
-
Mailing list archive
-
Message #00307
Re: [HG syfi] fixed memory bug
2007/8/28, Kent-Andre Mardal <kent-and@xxxxxxxxx>:
> tir, 28.08.2007 kl. 09.42 +0200, skrev Martin Sandve Alnæs:
> > 2007/8/27, SyFi <syfi@xxxxxxxxxx>:
> > > One or more new changesets pushed to the primary SyFi repository.
> > > A short summary of the last three changesets is included below.
> > >
> > > changeset: 698:2d63445d19a697c4105b4298b92d98579fab85d9
> > > tag: tip
> > > user: "Kent-Andre Mardal <kent-and@xxxxxxxxx>"
> > > date: Mon Aug 27 22:02:35 2007 +0200
> > > files: doc/manual/syfi-user-manual.pdf syfi/ArnoldFalkWintherWeakSym.cpp syfi/Bubble.cpp syfi/CrouzeixRaviart.cpp syfi/DiscontinuousLagrange.cpp syfi/FE.cpp syfi/FE.h syfi/Hermite.cpp syfi/Lagrange.cpp syfi/Nedelec.cpp syfi/Nedelec2Hdiv.cpp syfi/Nedelec2HdivPtv.cpp syfi/P0.cpp syfi/Polygon.cpp syfi/Polygon.h syfi/RaviartThomas.cpp syfi/Robust.cpp syfi/RobustPtv.cpp
> > > description:
> > > fixed memory bug
> >
> >
> > Have you actually tested this fix?
> >
> > The copy constructor Polygon::Polygon(const Polygon & p) is not
> > virtual (and cannot be in C++) and thus won't invoke the copy
> > constructor for the subclass, f.ex. Line::Line(const Line & l). The
> > copied object isn't any longer a Line, but a Polygon, and calling
> > integrate will only invoke Polygon::integrate which throws an
> > exception.
> >
>
> Yes, I saw that just after I submitted. I'll put in constructors.
No. I've reverted it. It just won't work this way. You can't have
virtual constructors in C++.
--
Martin
References