B
booklog
Guest
Ho seguito il codice.
# include <iostream>
using namespace std;
class A (
pubblico:
int x;
(A)
<img src="http://www.edaboard.com/images/smiles/icon_mad.gif" alt="Pazzo" border="0" />
(10) ()
);
class B (
pubblico:
A * p;
(B): p (0) ()
B (A * a): p (a) (cout << "Inside B (A * a)" <<endl
);
int main () (
B b;
b = new A;
cout <<BP-> x <<endl;
return 0;
)quando ho compilato questo, il compilatore non si lamentava.Il dubbio è, nella principale quando ho assegnare l'oggetto a b puntatore A's (attraverso le nuove A),il compilatore dovrebbe lamentarsi perché non ha nessun operatore di overload per "=".
Invece si chiama il constuctor "B (A * a)", che è sbagliata, perché io sono l'assegnazione, non inizializza b.
# include <iostream>
using namespace std;
class A (
pubblico:
int x;
(A)
<img src="http://www.edaboard.com/images/smiles/icon_mad.gif" alt="Pazzo" border="0" />
(10) ()
);
class B (
pubblico:
A * p;
(B): p (0) ()
B (A * a): p (a) (cout << "Inside B (A * a)" <<endl
);
int main () (
B b;
b = new A;
cout <<BP-> x <<endl;
return 0;
)quando ho compilato questo, il compilatore non si lamentava.Il dubbio è, nella principale quando ho assegnare l'oggetto a b puntatore A's (attraverso le nuove A),il compilatore dovrebbe lamentarsi perché non ha nessun operatore di overload per "=".
Invece si chiama il constuctor "B (A * a)", che è sbagliata, perché io sono l'assegnazione, non inizializza b.