C++: Klassen - Fehlerbehebung bei strings?

C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 21:48

Hallo erstmal!
Es geht mal wieder um die allseits beliebten strings in c++. (keine ahnung warum über die noch kein buch geschrieben wurde xD) in diesem fall im zusammenhang mit klassen und destruktoren. ich laber garnicht lange und veranschauliche das durch nen quellcode:
Code: Alles auswählen
#include <iostream>
using namespace std;


class hund
{
    public:
    string fell;
    string rasse;
    int alter;
    hund(string, string, int);
    ~hund();
};

hund::hund(string Nfell, string Nrasse, int Nalter)
{
    this->fell = Nfell;
    //so und hier ist mein problem. wenn jetzt unten bei der zuweisung dem string fell nix zugewiesen wird, wie kann ich jetzt dem string fell ein "nicht gegeben" zuweisen? mit einer if anweisung?
    this->rasse = Nrasse;
    this->alter = Nalter;
};

hund::~hund()
{
}

int main()
{
    hund hund1(/*hier steht jetzt nichts bei "fell"!*/"Golden Retriever", 4);
    cout << hund1.fell << "   " << hund1.rasse << "   " << hund1.alter << endl;
}

kennt ihr eine lösung für das problem? wär echt cool!
mfg
Gast
 

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon liro » 19. Mär 2010, 21:58

versteh dein Problem nicht...
nfell ist doch "gegeben" und _wird_ zu gewiesen

habs kompiliert und -siehe da- es funtzt :lol:
Zuletzt geändert von liro am 19. Mär 2010, 22:07, insgesamt 1-mal geändert.
Bild
liro
Zocker
 
Beiträge: 243
Registriert: 25. Jul 2008, 16:53
Hat Gedankt: 0 time
 Danksagungen: 0 time

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 22:03

also mein problem ist:
ich habe da unten jetzt die neue variable hund1. die klasse hund hat 3 member, so muss dem neuen hund1 ja 3 werte zugewiesen werden. aber ich weiße lediglich 2 werte zu, nämlich die beiden letzten (Nrasse und Nalter) und lasse Nfell aus. jetzt soll genau dafür oben bei der klasse etwas passieren, nämlich das das ausgelassenen Nfell zu "nicht angegeben" wird. und genau da ist mein problem!
Gast
 

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon liro » 19. Mär 2010, 22:09

aso ... hat ja nix mit strings zu tun ...

Code: Alles auswählen
#include <string>
#include <iostream>
using namespace std;


class hund
{
    public:
    string fell;
    string rasse;
    int alter;
    hund(string, string, int);
   hund(string, int);
    ~hund();
};

hund::hund(string Nfell, string Nrasse, int Nalter)
{
    this->fell = Nfell;
    //so und hier ist mein problem. wenn jetzt unten bei der zuweisung dem string fell nix zugewiesen wird, wie kann ich jetzt dem string fell ein "nicht gegeben" zuweisen? mit einer if anweisung?
    this->rasse = Nrasse;
    this->alter = Nalter;
};

hund::hund(string Nrasse, int Nalter)
{
    this->fell = "tolles fell ...";
    //so und hier ist mein problem. wenn jetzt unten bei der zuweisung dem string fell nix zugewiesen wird, wie kann ich jetzt dem string fell ein "nicht gegeben" zuweisen? mit einer if anweisung?
    this->rasse = Nrasse;
    this->alter = Nalter;
};

hund::~hund()
{
}

int main()
{
    hund hund1("Golden Retriever", 4);
   cout << hund1.fell << "   " << hund1.rasse << "   " << hund1.alter << endl;
}
Bild
liro
Zocker
 
Beiträge: 243
Registriert: 25. Jul 2008, 16:53
Hat Gedankt: 0 time
 Danksagungen: 0 time

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 22:11

oh! ach bin ich blöd.. ~.~ ja thx liro!
Gast
 

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon liro » 19. Mär 2010, 22:12

ehh ... hast du den 2. konstruktor gesehn ?
Bild
liro
Zocker
 
Beiträge: 243
Registriert: 25. Jul 2008, 16:53
Hat Gedankt: 0 time
 Danksagungen: 0 time

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 22:12

jup hab ich.
achsoo dann dient der also als fehlerbeheber? das geht? cool..
Gast
 

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon liro » 19. Mär 2010, 22:15

ne ... der Kompiler guckt, welcher Konstruktor besser passt, und ruft dann den auf
Bild
liro
Zocker
 
Beiträge: 243
Registriert: 25. Jul 2008, 16:53
Hat Gedankt: 0 time
 Danksagungen: 0 time

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 22:17

und das wirft jetzt wieder ein frage auf:
bei dem zweiten konstrukter lässt man also das aus, was einem wert zugewiesen werden soll (also hier Nfell). was aber wenn keinem der 3 member ein wert zugewiesen wurde? class hund::hund() geht ja nicht. wie also?
Gast
 

Re: C++: Klassen - Fehlerbehebung bei strings?

Beitragvon Gast » 19. Mär 2010, 22:19

oh hoppala, hab die funktions-prototypen in der klasse übersehen x.x. so geht das also. das wärs dann, danke liro.
Gast
 

Nächste

Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron