Gast
2004-06-25, 17:59:13
Hallo, ich hab hier mal eine Frage zu c++ und einem Copy Konstruktor.
Hier mal die Klassendeklaration:
class Base
{
public:
Base(const char* c_str);
Base(const Base& obj);
virtual ~Base();
protected:
char* c_str_;
};
im Konstruktor soll nur der c_str im klasseneigenen c_str_ gespeichert werden (mittels strcpy).
Im Copy Konstruktor soll der c_str_ von obj im Klasseneigenen c_str_ gespeicher werden.
Hier ein Codeschnippsel:
Base::Base(const Base& obj) : c_str_(0)
{
if(!obj.c_str_)
return;
c_str_ = new char[strlen(obj.c_str_) + 1];
strcpy(c_str_, obj.c_str_);
}
Nun meine Frage, kann der Zugriff auf obj.c_str_ funktionieren?
lg
Hier mal die Klassendeklaration:
class Base
{
public:
Base(const char* c_str);
Base(const Base& obj);
virtual ~Base();
protected:
char* c_str_;
};
im Konstruktor soll nur der c_str im klasseneigenen c_str_ gespeichert werden (mittels strcpy).
Im Copy Konstruktor soll der c_str_ von obj im Klasseneigenen c_str_ gespeicher werden.
Hier ein Codeschnippsel:
Base::Base(const Base& obj) : c_str_(0)
{
if(!obj.c_str_)
return;
c_str_ = new char[strlen(obj.c_str_) + 1];
strcpy(c_str_, obj.c_str_);
}
Nun meine Frage, kann der Zugriff auf obj.c_str_ funktionieren?
lg