From 4955867757342308360
X-Google-Thread: 7894ca11fe,ca1d48828e7eb066
X-Google-Attributes: gid7894ca11fe,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news2.google.com!news1.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 14 Oct 2009 12:40:01 -0500
Return-Path: <cppmods@ruralroute.cs.rpi.edu>
To: (Usenet)
From: Francis Glassborow <francis.glassborow@btinternet.com>
Newsgroups: comp.std.c++
Subject: Re: Keyword abstract for pure virtual functions in c++0x
Organization: unknown
Sender: cppmods@cs.rpi.edu
Approved: austern@google.com
Message-ID: <jYmdnfcg9J3wZUnXnZ2dnUVZ8lpi4p2d@bt.com>
References: <64708d1f-cb87-4e3b-a1c8-845c98490c25@o41g2000yqb.googlegroups.com>
	<06f78e41-2741-4217-9d79-94bd729418d7@f20g2000prn.googlegroups.com>
	<bbf88ecc-b3d1-411d-8244-37d5ae0ba0e7@y21g2000yqn.googlegroups.com>
	<b5bfe751-18ad-4e94-b0cb-cf72efb190f7@r24g2000prf.googlegroups.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
X-Original-Date: Tue, 13 Oct 2009 23:00:12 +0100
X-Submission-Address: std-c++@netlab.cs.rpi.edu
Date: Wed, 14 Oct 2009 12:37:32 CST
Lines: 32
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-zls/rg8uxxO8xvFxpEbEERnJ91WeGf7fPZYPjo88MZKPjPDobv5X0t4eLotqIdY4aSpiycvHIpEIsOq!o6VQ9+NqogI2O/jbGxd9XJLskquh5lBkm5ECnX39/qnZC0PpS0eZGRikPvVmqL8PW3Ac
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
Xref: g2news2.google.com comp.std.c++:1483

Sean Hunt wrote:

    On Oct 11, 5:04 pm, PsiX <bglo...@googlemail.com> wrote:

        Thanks for the info!

        As for the why... why "x->" if there is "(*x)." why "!=" if there is !
        ( == )... why abstract if there is =0?
        (being the difference in the meaning that the compiler does not create
        a function body vs. the intention of what the programmer wants to say)
        because it helps the reading and understanding of code. And you could
        later say
        abstract class X{};


      [[abstract]] and [[concrete]] might be useful attributes for checking,
    but they wouldn't have any other use, as the abstractness of a class
    can be determined from its contents (note that an abstract class with
    no pure virtual members can very easily be done by making the
    destructor pure virtual; the destructor must be defined in derived
    classes so they don't notice that the parent is abstract).

Of course they notice because of the way that dtors chain together
which is why you have to define your dtor even if you have declared it
a pure virtual.

-- 
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@netlab.cs.rpi.edu]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html                      ]



