Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 15:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



ist das überladen oder nicht?

Discussion on ist das überladen oder nicht? within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
ist das überladen oder nicht?

hey eine kleine frage,
kann man eine methode in einer anderen klasse überladen?
also ich weiß was überladen ist, aber wäre das hier überladen oder nicht?
Code:
class A
{
  public:
    void say(short x){ cout << "x is " << x << endl; }
};
class B:public A
{
  public:
    void say(short x, short y){ cout << "x is " << x << " and y is " << y << endl; }
};
weil da die methode say(short x) aus der klasse A sozusagen bei der deklaration von say in klasse B "versteckt" wird und man das nur benutzen kann in dem man beim aufruf so darauf zugreift:
Code:
B b;
b.A::say(24)
bin ich mir nicht sicher ob das noch als überladen gilt.
ich weiß auch das man das using in der klasse B benutzen kann um A:: in der main dann wegzulassen.
Slade100 is offline  
Old 12/11/2015, 18:35   #2
 
hazejp's Avatar
 
elite*gold: 0
Join Date: Jan 2015
Posts: 62
Received Thanks: 13
Ich denke, das zählt nicht als Überladung.
Um deine Methode aus der Basisklasse zu "verstecken", könntest du theoretisch privat von Klasse A erben und dabei ggf. noch benötigte Methoden als Wrapper definieren.
hazejp is offline  
Thanks
1 User
Old 12/11/2015, 18:51   #3
 
elite*gold: 0
Join Date: Mar 2010
Posts: 360
Received Thanks: 132
Du solltest über eine Fassade nachdenken und einen geeigneten Adapter konstruieren.
Es handelt sich hier um kein Überladen von Methoden, da der Kontextbereich unterschiedlich ist.
Daifoku is offline  
Thanks
1 User
Old 12/11/2015, 19:00   #4
 
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
danke euch erstmal,
@hazejp also ich will das ja nicht verstecken, c++ macht das automatisch wenn eine methode in der abgeleiteten klasse den selben namen hat wie eine methode in der basisklasse.

@daifoku was genau meinst du mit kontextbereich? das dass unterschiedliche klassen sind?
Slade100 is offline  
Old 12/11/2015, 19:59   #5
 
MuffinMario's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 881
Received Thanks: 539
Quote:
Originally Posted by Slade100 View Post
danke euch erstmal,
@hazejp also ich will das ja nicht verstecken, c++ macht das automatisch wenn eine methode in der abgeleiteten klasse den selben namen hat wie eine methode in der basisklasse.

@daifoku was genau meinst du mit kontextbereich? das dass unterschiedliche klassen sind?
Der Namensbereich zwischen den Funktionen ist immer noch unterschiedlich. Es ist somit kein Funktionsüberlauf.
du kannst x.func(1,1) machen, aber nicht x.func(1)
somit ist klar, dass der Bereich, in dem func(1) ist ein anderer ist, als der von func(1,1). Na klar haben die beiden Funktionen den gleichen Namen, doch solange der Bereich nicht der gleiche ist überlädt die Funktion nicht.

MuffinMario is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Softairakku überladen
11/22/2015 - Off Topic - 1 Replies
Servus, der Akku von meiner M4A1-Softair ist kaputt. Ich schätze mal (da ich ihn vergessen habe, abzustecken), dass 10h Laden zu lang waren. :o An einem gleichen Modell einer anderen Softair geht er auch nicht. Meine Frage: Bekommt man den selber irgendwie repariert, ohne einen neuen zu kaufen oder ist ein Neukauf unumgänglich?
bin sh error oder fterm öffnet nicht/connected nicht?? hier die lösung!!
04/04/2013 - Metin2 PServer Guides & Strategies - 9 Replies
hallo liebe com :) Viele leute haben dieses bin/sh error ich weiß wie es zu lösen ist ich müsst einfach sobald ihr das error habt : 1. eingabe taste drücken das # erscheint 2. fsck eingeben 3. auf jede frage mit y (yes) antworten 4. vpc zurücksetzen 5. einloggen...enjoy;)
Was geht meine Freunde Oder auch nicht :D bin neu oder auch nicht
08/05/2011 - Say Hello - 2 Replies
Ich bin seid Juli aktiv Ich seh das zum ersten mal ich hole das ma nach :D Boah ich muss irgendwie immer brüder oder bruda schreiben Bruder :D Peas Leute haut rein
[c++] Überladen von << Operator
05/02/2011 - C/C++ - 5 Replies
Hallo, ich hab ein Programm, das mittels Objekten einen Binärbaum erstellt. nun soll ich Ich hab zwar was zu Überladen von Stream-Operatoren gefunden, hab aber keinen Plan wie ich das anwenden soll. Also die Einrückung wird mittels einer Membervariable, die die Tiefe des Knotens angibt erzeugt.



All times are GMT +2. The time now is 15:17.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.