Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fehlermeldung-LNK 1120

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
29.03.2010, 18:10 Uhr
~Salix
Gast


Moinsen allerseits.
ich habe mir hier ein Programm geschrieben , mit dem ich mittels einer class ein Rechteck berechnen lassen möchte.

Hier der Code :

C++:
#include <iostream>
#include <iomanip>
using namespace std;

class Rechteck
{    private:    int a;
                int b;
                int g;

    public: Rechteck (int,int,int);
            ~Rechteck();
            void seiteEinlesen(void);
            void seiteZuweisen(int,int);
            int    flaecheBerechnen(void);
};

void Rechteck::seiteEinlesen(void)
{    cin >> a;
    cin >> b;
}


void Rechteck::seiteZuweisen(int aSeite, int bSeite)
{    a=aSeite;
    b=bSeite;
}

int Rechteck::flaecheBerechnen(void)
{
    return a*b;
};

int main()
{
    int flaeche;
    Rechteck Rechteck1(0,0,0);
    Rechteck1.seiteZuweisen(5,7);
    flaeche=Rechteck1.flaecheBerechnen();
    cout <<flaeche;
        
    fflush (stdin);
    getchar ();
    return 0;
}



Bearbeitung von 0xdeadbeef:

cpp-Tags eingefügt, nächstes mal selbst machen.


Dieser Post wurde am 29.03.2010 um 19:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.03.2010, 18:19 Uhr
~Komisch...Oo
Gast


sry, für die antwort, aber du scheinst mehr ahnung als ich zu haben, kannst du mal bei mri gucken? stehe direkt unter dir
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.03.2010, 18:53 Uhr
~Komisch...Oo
Gast


immernoch fehler.. trotzdem danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.03.2010, 19:28 Uhr
0xdeadbeef
Gott
(Operator)


Du hast weder den Konstruktor noch den Destruktor implementiert, daher kann der Linker sie beim Linken natürlich nicht finden.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.03.2010, 19:48 Uhr
~Salix
Gast


ich habe einen Konstruktor geschrieben dabei taucht folgender fehler auf :
error C2761: 'Rechteck::~Rechteck(void)': Die erneute Deklaration der Memberfunktion ist unzulässig cdokumente und einstellungen\besitzer\eigene dateien\visual studio 2008\projects\likeaboss\likeaboss\likeaboss.cpp 18
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.03.2010, 19:51 Uhr
0xdeadbeef
Gott
(Operator)


Rechteck::~Rechteck(void) ist der Destruktor; er scheint zweimal deklariert zu sein. Allerdings kann ich, ohne den Code zu sehen, nur raten.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.03.2010, 19:53 Uhr
~Salix
Gast



C++:
#include <iostream>
#include <iomanip>
using namespace std;

class Rechteck
{    private:    int a;
                int b;
                int g;

    public: Rechteck (int,int,int);
            ~Rechteck();
            void seiteEinlesen(void);
            void seiteZuweisen(int,int);
            int    flaecheBerechnen(void);
};

void Rechteck::Rechteck(int, int, int);
void Rechteck::~Rechteck();

void Rechteck::seiteEinlesen(void)
{    cin >> a;
    cin >> b;
}


void Rechteck::seiteZuweisen(int aSeite, int bSeite)
{    a=aSeite;
    b=bSeite;
}

int Rechteck::flaecheBerechnen(void)
{
    return a*b;
};

int main()
{
    int flaeche;
    Rechteck Rechteck1(0,0,0);
    Rechteck1.seiteZuweisen(5,7);
    flaeche=Rechteck1.flaecheBerechnen();
    cout <<flaeche;
        
    fflush (stdin);
    getchar ();
    return 0;
}


hier der code falls falsch bitte um verzeihung

Bearbeitung von 0xdeadbeef:

cpp-Tags eingefügt. Ist das wirklich so schwierig?


Dieser Post wurde am 29.03.2010 um 19:56 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
29.03.2010, 20:01 Uhr
~salix
Gast


Ja sry ich markier alles un klick auf cpp /cpp aber er machts iwie net sry
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.03.2010, 20:02 Uhr
0xdeadbeef
Gott
(Operator)



C++:
void Rechteck::Rechteck(int, int, int);
void Rechteck::~Rechteck();


...da würde ich mir die entsprechenden Teile des Buchs aber noch mal ansehen.

Nen selbstdefinierten Destruktor wirst du für diese Klasse wohl gar nicht brauchen, also nimm ihn am besten aus der Klassendefinition raus. Konstruktorsyntax sieht beispielsweise aus wie folgt:

C++:
class A {
public:
  A(int x);

private:
  int x_;
};

A::A(int x)
  : x_(x) { }


Dabei ist

C++:
A::A(int x) // Signatur
  : x_(x) // Initialisierungsliste
{ } // Funktionskörper



Nachtrag: Was die Code-Tags angeht, schreib halt vor den Code [ cpp ] und dahinter [ /cpp ] (jeweils ohne die Leerzeichen)

Nachtrag 2:

Übrigens würde ich mir dieses

C++:
fflush(stdin);


möglichst gar nicht erst angewöhnen. Das Verhalten ist nur in der Microsoft-C-Bibliothek (dürftig) definiert; wenn du willst, dass dein Code auf anderen Plattformen läuft, bist du damit aufgeschmissen. Ganz abgesehen davon kann es dir etwa bei Umleitung des Eingabestroms passieren, dass du damit deutlich mehr wegschmeißt, als du eigentlich wolltest. Meistens ist

C++:
#include <limits>
#include <iostream>

// ...

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');


ein besserer und portabler Ersatz. dabei ist

C++:
std::numeric_limits<std::streamsize>::max()


die größte Zahl, die in den Typ std::streamsize passt. Da diese immer mindestens so groß wie der Inhalt des Streams ist, läuft der Aufruf auf "Ignoriere solange Zeichen aus std::cin, bis du einen Zeilenumbruch findest" hinaus, und das ist es, was man in so einer Situation üblicherweise will.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 29.03.2010 um 20:17 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: