主题:向高手请教一个继承中没有见过的问题!
向高手请教一个继承中没有见过的问题!
有一个如下的程序:
#include<iostream.h>
class x
{
int a;
public:
x(){a = 3;}
int geta()
{
cout << a << endl;
return a;
}
};
class y : x
{
int b;
public:
[color=FF0000]x::geta; //请教这个地方是什么意思?[/color]
void result()
{
b = geta() + 8;
cout << b << endl;
}
};
int main()
{
y yy;
yy.result();
yy.geta();
return 0;
}
以上程序在VC++6.0下编译、运行都能通过。请教红色文字的地方:x::geta如果是声明父类中的geta()的话,为什么不用原型(void geta());如果是公共继承的话,是否只要使用函数名来说明子类拥有该函数(如果父类中有多个geta()函数,那子类在这种情况下怎么说明拥有父类的函数?)。我baidu和googleN次,网上好像没有类似的问题。实在无奈,烦请各们位高手指点一下,并请给出详细的讲解!谢谢!
有一个如下的程序:
#include<iostream.h>
class x
{
int a;
public:
x(){a = 3;}
int geta()
{
cout << a << endl;
return a;
}
};
class y : x
{
int b;
public:
[color=FF0000]x::geta; //请教这个地方是什么意思?[/color]
void result()
{
b = geta() + 8;
cout << b << endl;
}
};
int main()
{
y yy;
yy.result();
yy.geta();
return 0;
}
以上程序在VC++6.0下编译、运行都能通过。请教红色文字的地方:x::geta如果是声明父类中的geta()的话,为什么不用原型(void geta());如果是公共继承的话,是否只要使用函数名来说明子类拥有该函数(如果父类中有多个geta()函数,那子类在这种情况下怎么说明拥有父类的函数?)。我baidu和googleN次,网上好像没有类似的问题。实在无奈,烦请各们位高手指点一下,并请给出详细的讲解!谢谢!