Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Namespace Prinzip

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
03.11.2008, 21:39 Uhr
KFC Embryo
Ein Huhn


Hallo,

wenn man "cout" verwendet schreibt man ja am Anfang using namespace std.
Damit man nicht jedes mal std::cout schreiben muss.

Könnte man das auch mit einer eigenen erstellten Klasse machen?
Wenn man Beispielsweise eine Klasse hat die Test heißt.

Schreibt man ja void Test::Methode()

Würde "using namespace Test" funktionieren, so dass man ähnlich wie bei std::cout nur noch void Methode() schreiben müsste?

Wenn es geht ist es klar warum.
Wenn nicht würde ich mich freuen wenn mir das einer erklären könnte.

Danke
Gruß
--
An nescis, mi fili, quantilla prudentia mundus regatur?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.11.2008, 09:09 Uhr
stephanw
localhorst


Nein, das geht nicht, wenn "Test" eine Klasse ist. Wäre "Test" ein Namensraum, würde das natürlich gehen. Selbstverständlich kannst Du selbst Namensräume deklarieren und Deine Funktionen und Klassen dort einordnen.
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.11.2008, 19:15 Uhr
Lensflare




Zitat von staphanw:

Wäre "Test" ein Namensraum, würde das natürlich gehen.


ich glaube, KFC Embryo möchte es bei der Definiton weglassen, weil er noch ein void davor geschrieben hat. Das würde dann nicht gehen.


Zitat von KFC Embryo:

Wenn nicht würde ich mich freuen wenn mir das einer erklären könnte.


mit using namespace sagst du nur, daß du die Methoden (usw.) aus diesem Namensraum verwenden willst.
Um sie zu definieren muss man immer noch angeben in welchem Namensraum die Deklaration dieser Methode liegt.


C++:
namespace test
{
    void Methode(); //Deklaration von Methode
}

using namespace test;

//Definition von Methode. Aber wo ist die Deklaration? -> Fehler
void Methode()
{

}

int main()
{
    Methode();
}




In diesem Punkt unterscheiden sich namespaces nicht von Klassen.
Klassen selbst spannen ja auch einen Namensraum auf weil ja jede Methode und Variable einen eindeutigen Namen haben muss.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 04.11.2008 um 19:25 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: