B
booklog
Guest
Eu am următorul cod.
# include <iostream>
using namespace std;
clasa A (
publice:
int x;
A ()
<img src="http://www.edaboard.com/images/smiles/icon_mad.gif" alt="Nebun" border="0" />
(10) ()
);
clasa B (
publice:
A * p;
(B): p (0) ()
B (A * a): p (a) (cout << "Inside B (A * a)" <<endl
);
int main () (
B b;
b = O nouă;
cout <<BP-> x <<endl;
return 0;
)cînd i compilat acest lucru, compilatorul nu se plâng.Îndoială este, în principal atunci când am atribui b obiect la indicatorul A's (prin intermediul unui nou),compilator ar trebui să se plâng pentru că nu am nici un operator de supraîncărcare pentru "=".
În schimb, solicită constuctor "B (A * a)", care este greşit, deoarece eu sunt de atribuire, nu Iniţializare B.
# include <iostream>
using namespace std;
clasa A (
publice:
int x;
A ()
<img src="http://www.edaboard.com/images/smiles/icon_mad.gif" alt="Nebun" border="0" />
(10) ()
);
clasa B (
publice:
A * p;
(B): p (0) ()
B (A * a): p (a) (cout << "Inside B (A * a)" <<endl
);
int main () (
B b;
b = O nouă;
cout <<BP-> x <<endl;
return 0;
)cînd i compilat acest lucru, compilatorul nu se plâng.Îndoială este, în principal atunci când am atribui b obiect la indicatorul A's (prin intermediul unui nou),compilator ar trebui să se plâng pentru că nu am nici un operator de supraîncărcare pentru "=".
În schimb, solicită constuctor "B (A * a)", care este greşit, deoarece eu sunt de atribuire, nu Iniţializare B.