This is possibly a noob question, sorry about that. I faced with a weird issue recently when trying to mess around with some high level stuff in c++, function overloading and inheritance.
I'll show a simple example, just to demonstrate the problem;
There are two classes, classA and classB, as below;
class classA{
public:
void func(char[]){};
};
class classB:public classA{
public:
void func(int){};
};
According to what i know classB should now posses two func(..) functions, overloaded due to different arguments.
But when trying this in the main method;
int main(){
int a;
char b[20];
classB objB;
objB.func(a); //this one is fine
objB.func(b); //here's the problem!
return 0;
}
It gives errors as the method void func(char[]){}; which is in the super class, classA, is not visible int the derived class, classB.
How can I overcome this? isn't this how overloading works in c++? I'm new to c++ but in Java, i know I can make use of something like this.
Though I've already found this thread which asks about a similar issues, I think the two cases are different.