From -994401622673212809
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,a052d2220d0eb455
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1995-03-06 15:15:37 PST
Newsgroups: comp.std.c++
Path: bga.com!news.sprintlink.net!uunet!in1.uu.net!world!tob
From: tob@world.std.com (Tom O Breton)
Subject: Re: Name.Hiding.die.die.die
Message-ID: <D51HKq.1on@world.std.com>
Reply-To: tob@world.std.com
Organization: BREnterprises
References: <3jfie5$ltl@panix3.panix.com>
Date: Mon, 6 Mar 1995 22:10:01 GMT
X-Posted-By: My own casual posting program
Lines: 36


tmurphy@panix.com (Timothy Murphy) writes:
>    Please rip this apart, both with your editor and your words; I am
> very interested in feedback, particularly from members of the standards
> committee.

>    I was very disappointed to read in [DS 13.1.1] that the name-hiding
> rule is still with us.

I used to have mixed feelings about name-hiding, but now I think it's a
good idea.

I once felt that since an overloaded function of the same name is
semantically an entirely _different_ function, that name-hiding amounted
to cross-talk upon accident of having the same name.

But now I feel that overloading where one overloaded version might
"capture" arguments intended for another makes it too dangerous:

        base::foo( short i );
        derived::foo( long i );

        foo( 100 ); //Should base capture this? I say it shouldn't be
                    //risked.

I could be persuaded that it's only neccessary to hide functions with
the same number of arguments, including all combinations of default
arguments, though the rule seems a bit complex and doesn't accomplish
anything that some editing can't,

        Tom

-- 
tob@world.std.com
TomBreton@delphi.com: Author of The Burning Tower



