base pointer to derived class
Posted
by
Jay
on Stack Overflow
See other posts from Stack Overflow
or by Jay
Published on 2013-10-26T03:42:42Z
Indexed on
2013/10/26
3:54 UTC
Read the original article
Hit count: 122
Suppose there are Base
class and Derived
class.
Base *A = new Base;
Here A is a pointer point to Base class, and new
constructs one that A points to.
I also saw
Base *B = new Derived;
How to explain this?
B is a pointer to Base
Class, and a Derived
class constructed and pointed by B?
If there is a function derived from Base
class, say, Virtual void f()
, and it's been overridden in Derived
class, then
B->f()
will invoke which version of the function? version in Base
class, or version that overridden in Derived
Class.
What if there is a new function void g()
in Derived
, is B->g()
going to invoke this function properly?
One more is, is
int *a = new double;
or
int *a = new int;
legal?
© Stack Overflow or respective owner