Ich verwende das 2.
Nur, wenn du in der Klassendefinition lediglich die Prototypen der Funktionen oder des Konstruktors angibst und die Funktionsdefinitionen in einer externen Datei sind, musst du das Konstruktor:: vor den Konstruktor/die Funktion machen.
Im Grunde kann man (in dem Falle) aber beides nehmen.
Was hat das mit Cpp11 zu tun und wieso sollte man Variante 1 nutzen? Die ist absoluter Schwachsinn.
Der gleichen Meinung bin ich auch.
In meinem Buch steht nur, dass ich Klassenname::Klassenname verwenden soll, deshalb wollte ich nochmal eure Meinung dazu hören.
Hab das selbe Buch, aber bei mir hat er nie den Namensraum der Klasse mit angegeben, wenn man bereits dort ist.
Aber wie die anderen schon sagten, dies ist nicht nötig und bringt keinerlei vorteil o.Ä.
class Konstruktor
{
public:
Konstruktor() = default;
};
das richtige Beispiel.
Wenn ich von deinen Beispielen auswählen müsste, würde ich Variante 2 nehmen, da Variante 1 redundant ist. Egal in welchem Fall, ich würde immer strikt die Definition von der Deklaration trennen um konsistent zu bleiben.
class Konstruktor
{
public:
Konstruktor() = default;
};
das richtige Beispiel.
Wenn ich von deinen Beispielen auswählen müsste, würde ich Variante 2 nehmen, da Variante 1 redundant ist. Egal in welchem Fall, ich würde immer strikt die Definition von der Deklaration trennen um konsistent zu bleiben.
Wieso = default?
Wäre das nicht redundant, da dieser sowieso bei Ausbleiben des entsprechenden Konstruktors generiert wird?
Die default Anweisung benötigst du doch nur, wenn du neben dem Default-Konstruktor noch einen weiteren Nicht-Default-Konstruktor möchtest.
Wäre das nicht redundant, da dieser sowieso bei Ausbleiben des entsprechenden Konstruktors generiert wird?
Dann ist das, was ihr hier versucht, genau so redundant. Ihr definiert einfach nur den Konstruktor, der ansonsten sowieso als synthesierter Konstruktor da wäre. Ich habe eine Alternative aufgezeigt.
Quote:
Die default Anweisung benötigst du doch nur, wenn du neben dem Default-Konstruktor noch einen weiteren Nicht-Default-Konstruktor möchtest.
Oder konstante Variablen bzw. Referenzen als Member hast.
Dann ist das, was ihr hier versucht, genau so redundant. Ihr definiert einfach nur den Konstruktor, der ansonsten sowieso als synthesierter Konstruktor da wäre. Ich habe eine Alternative aufgezeigt.
Oder konstante Variablen bzw. Referenzen als Member hast.
Gut zu wissen, dass man es auch benötigt, wenn man konstante Variablen &oder Referezen als Member hat.
[C++] Delegation von Konstruktoren 05/24/2014 - C/C++ - 25 Replies Wie kann man einen Konstruktor innerhalb eines Konstruktors aufrufen?
Dieser Code hier funktioniert nicht wirklich
class Bruch
{
public:
Highscore.de Aufgabe Konstruktoren und Destruktoren Problem 09/19/2010 - C/C++ - 5 Replies Hey!
Ich versuche Fortschritte im Programmieren zu machen doc man stoßt ja immer wieder auf Probleme ;)
Folgendes.
Ich versuche die Aufgabe ganz unten auf der Seite(Hier) zu lösen, doch schaffe die Zweite Aufgabe nicht.
Mein momentaner Code:
Die C++ Datei
#include <iostream>