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

Copax

Frischling

  • »Copax« ist der Autor dieses Themas

Beiträge: 17

Beruf: Fachinformatiker

  • Private Nachricht senden

1

20.01.2014, 08:20

Klassen in C++ .. einfaches Beispiel

Aloha,

hat hier bitte mal iwer einen ganz simplen Quelltext für Klassen in C++? Hab jetzt schon ca. 200 Seiten durchsucht aber nix ordentliches gefunden. Hab leider mein letzten Quelltext gelöscht wo ich rumprobiert habe. ;(
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt."



Albert Einstein

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

20.01.2014, 08:38

C-/C++-Quelltext

1
2
3
class Klassenname
{
};


Edit: Was soll dir das eigentlich bringen? Objektorientierung ist nichts, was man durch "Try and Error" lernt. Die Syntax zu kennen bringt dir garnichts wenn du nicht verstehst was dahinter steckt. Du wirst es also nicht vermeiden können dein Buch auch zu lesen anstatt nur den Code heraus zu kopieren.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (20.01.2014, 09:36)


3

20.01.2014, 09:47

Hab jetzt schon ca. 200 Seiten durchsucht aber nix ordentliches gefunden.
Das kann ich mir wirklich nur schwer vorstellen.

4

20.01.2014, 12:40

Wie wärs mit ...

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// BankKonto.h
#ifndef BANKKONTO_H
#define BANKKONTO_H

#include<string>

class
{
public :
          BankKonto( std :: string Name);
          double getKontostand();
          void setKontostand(double Betrag);
private:
           std :: string Kontoinhaber;
           double Kontostand;
}

#endif

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// BankKonto.cpp
#include "BankKonto"

BankKonto :: BankKonto(std :: string Name)
{
      this->Kontoinhaber = Name;
      this->Kontostand = 0;
}

double BankKonto :: getKontostand()
{
      return Kontostand;
}

void BankKonto :: setKontostand(double Betrag)
{
      Kontostand  = Betrag;
}

... hoffe es stimmt, habs mühevoll mit dem Handy runtergetippt :thumbdown:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »QuickAndDirty« (20.01.2014, 13:01)


Tim Bureck

Frischling

Beiträge: 26

Wohnort: Krefeld

Beruf: Softwareentwickler

  • Private Nachricht senden

5

20.01.2014, 12:51

Um zu verstehen was hinter der ganzen Objekt- und Klassenrumschieberei steckt, kann dir vielleicht ein Buch über objektorientierte Analyse und Design helfen. Weiterhin sollte dir jedes halbwegs gescheite C++ Buch dabei helfen können die Theorie in die Praxis umzusetzen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

20.01.2014, 12:51

Ein paar Anmerkungen dazu:
1) "using namespace std;" in einem Header ist nie eine gute Idee.
2) Der Konstruktor sollte Initializer-Listen benutzen.
3) Bei "void setKontostan(double Betrag);" fehlt ein 'd' ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

7

20.01.2014, 12:53

Ein paar Anmerkungen dazu:
1) "using namespace std;" in einem Header ist nie eine gute Idee.
2) Der Konstruktor sollte Initializer-Listen benutzen.
3) Bei "void setKontostan(double Betrag);" fehlt ein 'd' ;)

4) void BankKonto :: setKontostand(double Betrag) tut nicht das was man erwarten würde.

8

20.01.2014, 13:03

Ok mal soweit editiert bis auf die Liste im Konstruktor. Sorry ich code normal kaum was in c++ nur die Frage war so einfach, dass ich mir dachte ich könnte doch mal versuchen ein einfaches Beispiel zu liefern.

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

9

20.01.2014, 13:16

Es fehlt auch noch der Klassenname, und die Benutzung von this ist verwirrend. Und es fehlen einige >;<

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once                                                                                       
// BankKonto.hpp                                                                                   
                                                                                                   
#include<string>                                                                                   
                                                                                                   
class BankKonto                                                                                    
{                                                                                                  
    public :                                                                                       
        BankKonto(std::string Name, double Betrag = 0);                                            
        double Kontostand() const;                                                                       
        BankKonto& Kontostand(double Betrag);                                                      
    private:                                                                                       
        std::string Kontoinhaber_;                                                                 
        double Kontostand_;                                                                        
};

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Bankkonto.cpp                                                                                   
#include "BankKonto.hpp"                                                                           
                                                                                                   
BankKonto::BankKonto(std::string Name, double Betrag)                                              
    : Kontoinhaber_(Name), Kontostand_(Betrag)                                                     
{                                                                                                  
}                                                                                                  
                                                                                                   
double BankKonto::Kontostand() const                                                                     
{                                                                                                  
      return Kontostand_;                                                                          
}                                                                                                  
                                                                                                   
BankKonto& BankKonto::Kontostand(double Betrag)                                                    
{                                                                                                  
      Kontostand_ = Betrag;                                                                        
      return *this;                                                                                
}

Und selbst dabei würde ich noch einiges anders machen. Nur hab jetzt leider nicht die Zeit.
:love: := Go;

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »H5::« (20.01.2014, 15:24)


Werbeanzeige