In case of C++
class CParent
{
public:
void mPrintf2()
{
printf("CParent::mPrintf2\n");
}
};
class CChild : public CParent
{
public:
void mPrintf2()
{
printf("CChild::mPrintf2\n");
}
};
int main(void)
{
CParent* l_pObj = new CChild();
l_pObj->mPrintf2();
}
=>
CParent::mPrintf2
If you attach 'virtual' keyword ahead of the mPrintf2 declaration
The result is
=>
CChild::mPrintf2
In case of Java
class CParent
{
void mPrint()
{
System.out.println("CParent::mPrint");
}
};
class CChild extends CParent
{
void mPrint()
{
System.out.println("CChild::mPrint");
}
};
public class CTest {
public static void main(String[] args)
{
CParent l_obj = new CChild();
l_obj.mPrint();
}
}
=>
CChild::mPrint
'Papers > programming' 카테고리의 다른 글
pass stack array data to pointer (0) | 2013.12.16 |
---|---|
declare an object in switch logic (0) | 2013.11.21 |
void pointer (0) | 2013.11.21 |
constructor & destructor calling in inheritance (0) | 2013.11.19 |
What is the difference between singleton and static class? (0) | 2013.07.16 |