Sziasztok,
Rövidesen vizsga és sanszos, h ez a kérdés szerepel majd! ;)
Lehet egy konstruktor túlterhelt?
Szabek
- 1894 megtekintés
Hozzászólások
g overloading c++ constructor
- A hozzászóláshoz be kell jelentkezni
"Lehet egy konstruktor túlterhelt?"
Szerintem egy lift pl. lehet túlterhelt, de egy konstruktor ???
Persze felüldefiniálni (overload) lehet.
Ez a túlterhelés olyan kb, mint amikor a rendőrök az angol nyelvtudásukat gyakorolják:
- Stone fire?
- No, sky.
- A hozzászóláshoz be kell jelentkezni
Távol álljon tőlem, hogy nyelvészeti vitába keveredjek, de az overload magyar fordításban, és a szakirodalomban is túlterheltként jelent meg.
Pl
Bjarne Stroustrup: A C++ programozási nyelv (Kiskapu kiadó)
Lehet, hogy nem szerencsés, de nem ez az első hülyén fordított szakszó, és kár ezen lovagolni...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
köszi!
én csak tanulom, nem én találtam ki...de egyet értek...
- A hozzászóláshoz be kell jelentkezni
Bjarne Stroustrup: A C++ programozási nyelv (Kiskapu kiadó)
199. old:
"Azt, hogy különböző típusokra vonatkozó műveletekre ugyanazt a nevet használjuk, túlterhelésnek (overloading) nevezzük."
Tekintve, hogy lehetséges több konstruktor, a válasz igen.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Termeszetesen lehet. Peldaul, ha van egy Pont osztalyod, akkor lehet olyan konstruktora, ami mondjuk 2 koordinata alapjan hoz letre egy peldanyt, egy masik pedig mondjuk egy masik pont adatai alapjan.
Egy pelda (nem feltetlenul igy erdemes, de igy is lehet):
class Pont {
private:
int _x, _y;
public:
Pont (int x, int y) : _x (x), _y (y) {}
Pont (Pont &p) : _x (p.getX ()), _y (p.getY ()) {}
...
}
Itt a konstruktor overloaded, hiszen ket kulonbozo modon is tudsz peldanyokat letrehozni.
- A hozzászóláshoz be kell jelentkezni
Sztem egyszerűbb lett volna kipróbálni. :->
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Tudna valaki egy egyszerű példát írni arra, h hogy kell a >> átdefiniálni? Mert erre nem találtam példát, csak a << -re.
Köszi,
Sz.
u.i: ha holnap átmegyek prog-ból, igérem nem kérdezek több ilyet...:)
- A hozzászóláshoz be kell jelentkezni
Nem akarok g*** lenni, de ha ilyeneket kerdezel tuti, hogy nem fogsz atmenni.
- A hozzászóláshoz be kell jelentkezni
g c++ operator overloading stream
- A hozzászóláshoz be kell jelentkezni
Uuuu...köszi,
Pont erre gondoltam!
- A hozzászóláshoz be kell jelentkezni
Hmmm, hát pl ugyanúgy...
Bár gondolom te az istream baloldalú operátorra gondoltál.
Itt egy primitív példa:
std::istream& operator>> (std::istream &in, MyType &a)
{
int i;
in >> i;
a.setInt(i);
return in;
}
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni