Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Konstruktor für Anfänger

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.09.2021, 17:05 Uhr
member



Folgender Code:


C++:
#include <iostream>
using namespace std;
class konstr{
public:
    int a=1;
    konstr(int);
    konstr();
};

int main() {
    konstr k();
    cout << "Hello, World!\n";
    //cout << k.a;
}



Wie kann a ausgegeben werden ?
DIe Erzeugung des 1. Konstruktors in der main-Funktion
klappt nicht (konstr(int)).

Dieser Post wurde am 15.09.2021 um 16:20 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.09.2021, 13:16 Uhr
ao

(Operator)


2 Fehler:

1. Die Erzeugung eines Objekts mittels parameterlosem Konstruktor geht so:

C++:
int main() {
    konstr k;  // nicht konstr k();
}



konstr k(); an der Stelle erzeugt überhaupt kein Objekt, sondern deklariert eine Funktion namens k, die parameterlos ist und ein konstr-Objekt retourniert. Also was ganz anderes.

2. Fehler: Dem Konstruktor (konstr(); innerhalb von class konstr) fehlt der Body. Formal richtig ist das Programm demnach so:


C++:
#include <iostream>
using namespace std;
class konstr
{
public:
  int a = 1;
    konstr (int);
    konstr () {}
};

int
main ()
{
  konstr k;
  cout << "Hello, World!\n";
  cout << k.a;
}



Schön ist das freilich immer noch nicht (öffentliche Member-Variable und so), aber es kompiliert und macht vermutlich das, was du willst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: