220 7903 <CA+JonM3QdOQwdVC9eRYw4f8oiwpGSqrRWUPz_E1Ke75sH_rjqQ@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: =?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JvQtdC+0L3RgtGM0LXQsg==?= <dm.leontiev7@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Limited inheritance for classes
Date: Fri, 22 Nov 2013 17:51:04 +0400
Lines: 134
Approved: news@gmane.org
Message-ID: <CA+JonM3QdOQwdVC9eRYw4f8oiwpGSqrRWUPz_E1Ke75sH_rjqQ@mail.gmail.com>
References: <f04aeac5-ab5a-4508-ae69-196f53e7a6f8@isocpp.org>
	<CAFk2RUapU4MNTVoVe3F0DP+5C7M_AHPT6MQdHxfVDTH+3tsQfQ@mail.gmail.com>
	<CA+JonM25VQutZms0zKYfbvP91b88Ou2gSnpXXi0ZAtnLO1htWQ@mail.gmail.com>
	<CAFk2RUYGPkEN+mdmi3KZ5M7FTP5=6=TrbTQzr3c1pCV3DnTwdg@mail.gmail.com>
	<CA+JonM0-YHEiEJywSjbLt+3=PuvyH7My=tTCnCDS44EO+Ac+kQ@mail.gmail.com>
	<CAFk2RUYQ9e_grbtE+XnmiQ=sa9XdRP__-b+qW65PkSCwWVA3ng@mail.gmail.com>
	<CA+JonM178Oi0roCZtuzKD0vsFgcVHWGSnLoFwHun4kzTXi7ceA@mail.gmail.com>
	<CAFk2RUYEWCTp0NjWpy02PBJnoyRdMSRT1jrNKdWMqhEFd-VEdg@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=047d7b3433922edafa04ebc44e9c
X-Trace: ger.gmane.org 1385128635 2981 80.91.229.3 (22 Nov 2013 13:57:15 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Fri, 22 Nov 2013 13:57:15 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCVM3HN4RQMBBSGCXWKAKGQEBPFQOFI@isocpp.org Fri Nov 22 14:57:21 2013
Return-path: <std-proposals+bncBCVM3HN4RQMBBSGCXWKAKGQEBPFQOFI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qe0-f69.google.com ([209.85.128.69])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCVM3HN4RQMBBSGCXWKAKGQEBPFQOFI@isocpp.org>)
	id 1Vjr8T-0006jO-Vk
	for gclcip-std-proposals@m.gmane.org; Fri, 22 Nov 2013 14:51:06 +0100
Original-Received: by mail-qe0-f69.google.com with SMTP id 1sf2388388qee.0
        for <gclcip-std-proposals@m.gmane.org>; Fri, 22 Nov 2013 05:51:05 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:date
         :message-id:subject:from:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe:content-type;
        bh=/LzpeHtCVVsF+1V4mmvMdbvPgo1IoNjtffSc2LVsh8Y=;
        b=Wu98wsRIO7zcjpAg3BaU8en4oFFlqUhuJ2RAMzvcOzcddPD4G2QzZpL2sU3b/+HjJ5
         SKwR5Ch+R2g9FC4CVC6U2DY2s3BtW3gNbxjuuii5jquh7/1kEHymLUy0aHEvyNEcoNkL
         u/kug6TYb0aeeSFtgKf9PXF+PwdtjUWebMqlskNdFt+RPzxfvOTyIH7zWe9oP0HDKB1f
         1RkYO0+DEepH2EWx8ZKyeJiS3hSAbyxdn98Vaw1S8WRtMtM7cSjHpbez9um4s7Zrf482
         xXf2zXAHrSV9PW36qZ6udBC/U//9iZj+i42MzMTz9jt26tPhgMhplps9z73LDEuQ9sjm
         09fQ==
X-Gm-Message-State: ALoCoQkmIga/LtEpxvE4hTaHiH3T+xbGj6Xd9tgMhjKU2+MoSfYZvWv/G3IkdAEvQFyzCPlAoFOE
X-Received: by 10.236.19.36 with SMTP id m24mr5376942yhm.14.1385128265217;
        Fri, 22 Nov 2013 05:51:05 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.120.5 with SMTP id ky5ls1007391qeb.26.gmail; Fri, 22 Nov
 2013 05:51:04 -0800 (PST)
X-Received: by 10.58.29.37 with SMTP id g5mr201131veh.38.1385128264781;
        Fri, 22 Nov 2013 05:51:04 -0800 (PST)
Original-Received: from mail-vb0-x232.google.com (mail-vb0-x232.google.com [2607:f8b0:400c:c02::232])
        by mx.google.com with ESMTPS id sz7si12645440vdc.151.2013.11.22.05.51.04
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Fri, 22 Nov 2013 05:51:04 -0800 (PST)
Received-SPF: pass (google.com: domain of dm.leontiev7@gmail.com designates 2607:f8b0:400c:c02::232 as permitted sender) client-ip=2607:f8b0:400c:c02::232;
Original-Received: by mail-vb0-f50.google.com with SMTP id 10so897843vbe.9
        for <std-proposals@isocpp.org>; Fri, 22 Nov 2013 05:51:04 -0800 (PST)
X-Received: by 10.220.106.73 with SMTP id w9mr673426vco.34.1385128264651; Fri,
 22 Nov 2013 05:51:04 -0800 (PST)
Original-Received: by 10.58.213.161 with HTTP; Fri, 22 Nov 2013 05:51:04 -0800 (PST)
In-Reply-To: <CAFk2RUYEWCTp0NjWpy02PBJnoyRdMSRT1jrNKdWMqhEFd-VEdg@mail.gmail.com>
X-Original-Sender: dm.leontiev7@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of dm.leontiev7@gmail.com designates 2607:f8b0:400c:c02::232 as
 permitted sender) smtp.mail=dm.leontiev7@gmail.com;       dkim=pass
 header.i=@gmail.com;       dmarc=pass (p=NONE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:7903
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/7903>

--047d7b3433922edafa04ebc44e9c
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable

Yes, exactly. This feature can help to protect class internals from
unintended overrides, because sometimes one can't use final keyword. it is
easy to implement, because it only affects the Vtable generation at compile
time


2013/11/20 Ville Voutilainen <ville.voutilainen@gmail.com>

> On 20 November 2013 16:52, =E4=CD=C9=D4=D2=C9=CA =EC=C5=CF=CE=D4=D8=C5=D7=
 <dm.leontiev7@gmail.com>
> wrote:
> > I want B to override function. And I want A to override function. I wan=
t
> B
> > to not no override function A already overrided.
> >
> > The problem is B overrides function() in _both_ parent classes. I want
> it to
> > override only one function() in one parent.
>
>
> So.. when B converts itself to a A* or A&, you want A::function to be
> used, and
> when B converts itself to an EventHandler* or EventHandler&, you want
> B::function
> to be used?
>
> I fail to see how such things are common enough to make a language change
> to support it.
>
> --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/a/isocpp.org/d/topic/std-proposals/XHPXdG01rBY/=
unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

--=20

---=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposa=
ls/.

--047d7b3433922edafa04ebc44e9c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Yes, exactly. This feature can help to protect class =
internals from unintended overrides, because sometimes one can&#39;t use fi=
nal keyword. it is easy to implement, because it only affects the Vtable ge=
neration at compile time</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">2013/11=
/20 Ville Voutilainen <span dir=3D"ltr">&lt;<a href=3D"mailto:ville.voutila=
inen@gmail.com" target=3D"_blank">ville.voutilainen@gmail.com</a>&gt;</span=
><br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On 20 November 2013 16:52, =D0=94=D0=BC=D0=B8=D1=82=D1=80=
=D0=B8=D0=B9 =D0=9B=D0=B5=D0=BE=D0=BD=D1=82=D1=8C=D0=B5=D0=B2 &lt;<a href=
=3D"mailto:dm.leontiev7@gmail.com">dm.leontiev7@gmail.com</a>&gt; wrote:<br=
>
&gt; I want B to override function. And I want A to override function. I wa=
nt B<br>
&gt; to not no override function A already overrided.<br>
&gt;<br>
&gt; The problem is B overrides function() in _both_ parent classes. I want=
 it to<br>
&gt; override only one function() in one parent.<br>
<br>
<br>
</div>So.. when B converts itself to a A* or A&amp;, you want A::function t=
o be used, and<br>
when B converts itself to an EventHandler* or EventHandler&amp;, you want<b=
r>
B::function<br>
to be used?<br>
<br>
I fail to see how such things are common enough to make a language change<b=
r>
to support it.<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
--<br>
<br>
---<br>
You received this message because you are subscribed to a topic in the Goog=
le Groups &quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this topic, visit <a href=3D"https://groups.google.com/=
a/isocpp.org/d/topic/std-proposals/XHPXdG01rBY/unsubscribe" target=3D"_blan=
k">https://groups.google.com/a/isocpp.org/d/topic/std-proposals/XHPXdG01rBY=
/unsubscribe</a>.<br>

To unsubscribe from this group and all its topics, send an email to <a href=
=3D"mailto:std-proposals%2Bunsubscribe@isocpp.org">std-proposals+unsubscrib=
e@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
&nbsp;<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--047d7b3433922edafa04ebc44e9c--

.
