Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem mit KLassen:

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
07.10.2005, 18:38 Uhr
~xyz
Gast


HOi,
ich packe es nicht ein Klasse bzw. eine Methode einer anderen KLasse aus einer Klasse aufzurufen:

header-datei:

Code:
#ifndef GENERATE_H
#define GENERATE_H


class Generate
{

public:
    Generate();
    ~Generate();
    void test();
    
    
private:
    //Variables
   int* a;
    
};

#endif // GENERATE_H



dazu die cpp datei:

Code:
#include <generate.h>

Generate::Generate()
{
    a = 9;
}

Generate::~Generate()
{
}

void Generate::test()
{
    std::cout << "test" << std::endl;
}



ich rufe die Klasse so auf:


Code:
#include <generate.h>
.
.
.
Gen Generate;



aber er meckert dass er kein target für generate.o hat was er braucht...!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.10.2005, 18:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


erst Klassenname dann Variabelnname in C++


C++:
Generate Gen;



includes in spitzen klammern implizieren das der kompiler aller gesetzten pfade abgrasen soll.... gemeint ist von dir sicherlich die includes in hochkommata zu packen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.10.2005, 18:54 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Jo, die Zuweisung auf "a" funzt so auch nicht, da Pointer und den iostream Header vergessen einzubinden.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 07.10.2005 um 18:54 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.10.2005, 18:55 Uhr
~xyz
Gast


hmm ja jetzt ist das mitdem target weg....aber wie bekomme ich nun ein funktionierendes klassen beispiel ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.10.2005, 19:07 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
wo bzw. was ist jetzt noch Dein Problem?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.10.2005, 19:17 Uhr
~xyz
Gast


hallo Uwe...
naja es funktioniert nicht..

ich poste nochmals einfach den code:

der header:

Code:
#ifndef GENERATE_H
#define GENERATE_H

class Generate
{

public:
    Generate();
    ~Generate();
    void test();
    
private:    
protected:
};

#endif // GENERATE_H



jetzt die cpp datei:

Code:
#include "generate.h"
#include <iostream>

Generate::Generate()
{
    std::cout << "jo" << std::endl;
}

Generate::~Generate()
{
}

void Generate::test()
{
    std::cout << "hallo" << std::endl;
}



so und nun will ich einfach aus einer anderen Datei namens mainwin.cpp in einer methode
namens run die test-methode der klasse Generate aufrufen...

also:

Code:
Generate Gen;
Gen.test();




Habe in mainwin.cpp natürlich den header inkludiert: #include "generate.h"

Aber es kommt immer noch viele fehlermeldungen...
wo liegt mein fehler ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.10.2005, 19:24 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Header

C++:
#ifndef GENERATE_H
#define GENERATE_H


class Generate
{

public:
    Generate();
    ~Generate();
    void test();
    
    
private:
    //Variables
   int* a;
   int i;
};

#endif // GENERATE_H


CPP

C++:
#include "generate.h"
#include <iostream>
using namespace std;
Generate::Generate()
{      
      a = new int;
      *a = 9;
      i = 3;
}

Generate::~Generate()
{
}

void Generate::test()
{
    cout << "test" << endl;
    cout << *a << endl;
    delete a;
    int& j = i;
    cout << j << endl;
}


main

C++:
#include <iostream>
#include "generate.h"
using namespace std;

int main(int argc, char *argv[])
{
    Generate Gen;
    Gen.test();
    // hier noch ein Abfangen der Tastatur einfügen
    return 0;
}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
07.10.2005, 20:53 Uhr
~xyz
Gast


danke uwe.......es funktioniert........

hatte eher ein problem mit meinem Programmierumgebung ;o)
 
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: