G
garyolsen
class base{
public:
void NonVirtualMethod(int a);
virtual void VirtualMethod(int a);
};
class derived{
public:
void NonVirtualMethod(int a, char c);
void VirtualMethod(int a, char c);
};
In the above sample code, I have some questions:
1. Is it good coding to have different signatures for a non-virtual methods
in base and derived classes?
2. Is it good coding to have different signatures for a virtual methods in
base and derived classes?
3. Is the coding in case 1 so-called "hiding"?
4. When should/shouldn't use either of such coding?
Many thanks!
public:
void NonVirtualMethod(int a);
virtual void VirtualMethod(int a);
};
class derived{
public:
void NonVirtualMethod(int a, char c);
void VirtualMethod(int a, char c);
};
In the above sample code, I have some questions:
1. Is it good coding to have different signatures for a non-virtual methods
in base and derived classes?
2. Is it good coding to have different signatures for a virtual methods in
base and derived classes?
3. Is the coding in case 1 so-called "hiding"?
4. When should/shouldn't use either of such coding?
Many thanks!