Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 09:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++]Konstruktor Problem

Discussion on [C++]Konstruktor Problem within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
.BritainAndy's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
[C++]Konstruktor Problem

Hallo ,

ich habe ein Problem bzw eher gesagt eine Frage zu meinem Code.
Ich habe mir eine schnuckelige Klasse angelegt die wie folgt aussieht:


So, ich habe natürlich auch alle Funktionen Definiert á la:


usw usw..

So wenn ich jetzt in meiner main 2 Objekte der Klasse 'Krieger' erstelle:

PHP Code:
Krieger yannik("yannik",30,50,true,false);
Krieger nils;

yannik.show_all();
nils.show_all(); 
Um zu testen ob der Standard Konstruktor klappt funktioniert alles.
Das Objekt "Nils" heißt bei der Ausgabe 'Mongo', hat '100 leben', '45 kraft' usw.
Alles wunderbar, aber was ist, wenn ich z.b. nur den 3ten Parameter des Konstruktors ändern will, und die anderen alle so bleiben sollen wie ich sie standardmäßig definiert habe?

Also something like this:

Krieger nils(,,,true,)
also 1t Parameter bleibt standard, 2ter auch, 3ter auch, aber den 4ten will ich ändern, wobei der 5te jedoch standard bleiben soll..


ich hoffe ihr versteht was ich meine, es fällt mir schwer mich klar auszudrücken :P

Lg, Andy
.BritainAndy is offline  
Old 07/29/2011, 15:53   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Neuen Setter:
Code:
void SetWeapon(bool b)
{
    this->bWaffe = b;
}
-->

Code:
Krieger nils;
nils.SetWeapon(true);
nils.SetWeapon(false);

btw.

Code:
strncpy( szName, Name, sizeof(szName) -1);
szName[ sizeof(szName) ] = '\0';
Das ist einfach nur schlecht und falsch. Du schreibst doch in C++, also nimm einfach std::string.
xNopex is offline  
Old 07/29/2011, 16:33   #3
 
.BritainAndy's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
Hm okay ich dachte ich kann das Problem auch irgendwie lösen, ohne neue Funktionen zu benutzen.
Danke trotzdem ;-)

Wieso schlecht und falsch? Es mag eventuell schlechter Programmierstil sein c strings zu benutzen, aber falsch?
.BritainAndy is offline  
Old 07/29/2011, 17:26   #4
 
elite*gold: 0
Join Date: Dec 2007
Posts: 14
Received Thanks: 2
Das hat SterminioProductions auf seinem Youtube-Channel doch detailliert erklärt.
Drake^ is offline  
Old 07/29/2011, 17:44   #5
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Quote:
Wieso schlecht und falsch? Es mag eventuell schlechter Programmierstil sein c strings zu benutzen, aber falsch?
Code:
szName[ sizeof(szName) ] = '\0';
Außerhalb des Elementbereichs...

Nimm einfach std::string und gut ist..
xNopex is offline  
Old 07/29/2011, 18:15   #6
 
.BritainAndy's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
Quote:
Originally Posted by Drake^ View Post
Das hat SterminioProductions auf seinem Youtube-Channel doch detailliert erklärt.
Hat er nicht? Bzw, welches Video?
Ich weiß, dass ich mit funktionen die einzelnen Parameter "bearbeiten" kann, ich dachte aber, eventuell gibts auch ne möglichkeit das so zu machen:

PHP Code:
Krieger nils(,,,true,) oder
Krieger nils
(0,0,0,true,0
oder was weiß ich :P
aber das geht ja anscheinend nicht
.BritainAndy is offline  
Old 07/29/2011, 20:35   #7


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Standardparameter.

Kannst im Konstruktor für jeden Parameter auch nen Standardwert setzen und wenn die ausgelassen werden, wird der Wert genommen.
Allerdings geht das nur am Ende. Du kannst keine Leerstellen in der Mitte oder am Anfang haben, eben höchstens so:

Code:
void func(int x = 0, int y = 0, int z = 0);

func(1);    //ok
func(1,2);    //ok
func(1,2,3);    //ok
func(,,1);    //falsch
MrSm!th is offline  
Old 07/29/2011, 20:38   #8
 
.BritainAndy's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
Okay, danke Sm!th, endlich jemand der mir ne antwort auf meine kompliziert gestellte Frage gibt :P
.BritainAndy is offline  
Reply


Similar Threads Similar Threads
[Problem]Habe ein Problem und zwar spinnt mein VPC etwas(ohne Grund)?!
07/28/2011 - Metin2 Private Server - 10 Replies
Also wie schon gesagt meins Server spinnt wodurch kiks usw. kommen :( ich lade euch die Screens in den Anhang, mit der Hoffnung, dass ihr mir helfen könnt :) wäre echt sehr nice :)
[Problem] Problem with server starting - cannot find quest index for PaxHeader
12/22/2009 - Metin2 Private Server - 1 Replies
Hello! I have this same problem as here when i'm starting my server: http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html But I didn't know the answer.. how to repair this? Greetings



All times are GMT +1. The time now is 09:54.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.