Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

26.11.2005, 15:11

Basisklasse & hpp. =Problem

Ich habe ein Problem beim erstellen von hpp und cpp Datei mit CMienenleger!
Wenn ich das ganze ohne CMienenleger mache funktioniert alles!
Weiss vieleicht jemand wo der Fehler liegt?

Test.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//****

#include <iostream>
#include "CRaumschiff.hpp"
#include "CMienenleger.hpp"
using namespace std;
int main()
{
    CRaumschiff Schiff1;
    CMinenleger Miner;
    Miner.Mine_Legen();
    Schiff1.Zeige_Daten();

void Zeige_Daten();
    return 0;
}
//************************

CRaumschiff.hpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
//****

class CRaumschiff
{
protected:
    int m_Energie;
public:
    CRaumschiff();
    ~CRaumschiff();
    void Zeige_Daten();
};
//************************

CRaumschiff.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//*****

#include "CRaumschiff.hpp"
#include <iostream> 
using namespace std;
CRaumschiff::CRaumschiff()
    {
        m_Energie=2000;
        cout <<"\nRaumschiff erstellt\n";
    }

CRaumschiff::~CRaumschiff()
{
    cout <<"\nRaumschiff zerstoert\n";
}
void CRaumschiff :: Zeige_Daten()
{
cout <<"Energie: " <<m_Energie;
cout <<endl;
}
//***********************

CMienenleger.hpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
//****

class CMinenleger : public CRaumschiff
{
private:
    int m_Mienen;
public:
    CMinenleger();
    void Mine_Legen();
};
//***********************

CMienenleger.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//****

#include "CMienenleger.hpp"
#include <iostream>

using namespace std;
CMinenleger::CMinenleger()
{
    m_Minen=10;
}
void CMinenleger :: Mine_Legen()
{
    m_Minen--;
    cout <<"\nMiene wurde gelegt!\n";
    cout <<"Es sind noch "<<m_Minen <<" uebrig";
}

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

26.11.2005, 15:19

Bitte noch den Fehler posten, danke!
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

3

26.11.2005, 15:53

--------------------Konfiguration: Test3 - Win32 Debug--------------------
Linker-Vorgang läuft...
Test3.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CMinenleger::Mine_Legen(void)" (?Mine_Legen@CMinenleger@@QAEXXZ)
Test3.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CMinenleger::CMinenleger(void)" (??0CMinenleger@@QAE@XZ)
Debug/Test3.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Test3.exe - 3 Fehler, 0 Warnung(en)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

26.11.2005, 16:04

Welche Entwicklungsumgebung nutzt du?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

5

26.11.2005, 16:08

Visual C++ von der beiliegendn CD von(C++für Spieleprogrammierer Auflage2)!

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

26.11.2005, 16:12

Gut also der Fehler besagt das er zwar den FUnktionskopf findet jedoch nciht die Definition der Funktion. Daher änder mal das

C-/C++-Quelltext

1
2
3
4
5
CMinenleger::CMinenleger() 
{ 
    m_Minen=10; 
} 
void CMinenleger :: Mine_Legen() 
in

C-/C++-Quelltext

1
2
3
4
5
CMinenleger::CMinenleger(void)
{ 
    m_Minen=10; 
} 
void CMinenleger::Mine_Legen(void)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

7

26.11.2005, 16:17

funktioniert leider nicht, es kommen immernoch die gleichen 3 Fehler!

Anonymous

unregistriert

8

26.11.2005, 17:01

Ich habe ein Fehler gefunden(sorry), ich habe die CMienenleger.hpp ausversehen zu den Resource dateien beigefügt,doch jetzt kommen folgende Fehler!

Test3.cpp
CRaumschiff.cpp
CMienenleger.cpp
c:\peter\programme\visual c++\myprojects\test3\cmienenleger.hpp(2) : error C2504: 'CRaumschiff' : Basisklasse undefiniert
c:\peter\programme\visual c++\myprojects\test3\cmienenleger.cpp(7) : error C2065: 'm_Minen' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.

Test3.exe - 2 Fehler, 0 Warnung(en)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

26.11.2005, 18:40

In

CMienenleger.hpp

musst Du natürlich noch

#include "CRaumschiff.hpp"

einfügen, damit er die Basisklasse auch kennt.

10

26.11.2005, 19:17

Peter

Zitat


c:\peter\programme\visual c++\myprojects\test3\cmienenleger.cpp(7) : error C2065: 'm_Minen' : nichtdeklarierter Bezeichner

und

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
//**** 

class CMinenleger : public CRaumschiff 
{ 
private: 
    int m_Mienen; 
public: 
    CMinenleger(); 
    void Mine_Legen(); 
}; 
//***********************

vllt findest du ja den Fehler wenn ich dir das gegenüber lege... ich weiß wo er ist ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige