c++ problème avec la surcharge de fonctions dans une classe héritée

C'est peut-être une question de noob, désolé. Je pose une drôle de question récemment lors de la tentative de déconner avec quelques éléments de niveau en c++, la fonction de surcharge et à l'héritage.

Je vais vous montrer un exemple simple, juste pour démontrer le problème;

Il y a deux classes, classA et classB, comme ci-dessous;

class classA{
    public:
        void func(char[]){};    
};

class classB:public classA{ 
    public:
        void func(int){};
};

Selon ce que je sais classB doit maintenant posséder deux func(..) fonctions, surchargé à cause des arguments différents.

Mais en essayant ce dans la méthode main;

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;
}

Il donne des erreurs que la méthode void func(char[]){}; qui est dans la classe super, classA, n'est pas visible int la classe dérivée, classB.

Comment puis-je surmonter cela? n'est-ce pas la façon dont la surcharge de travaille en c++? Je suis novice en c++, mais en Java, je sais que je peux faire usage de quelque chose comme cela.

Bien que j'ai déjà trouvé ce fil qui pose des questions sur une des questions similaires, je pense que les deux cas sont différents.

InformationsquelleAutor Anubis | 2013-01-08