| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:向高手请教一个继承问题!
只看楼主 加入收藏
circlesky
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-4-5
结帖率:50%
收藏
 问题点数:0 回复次数:2 
向高手请教一个继承问题!
有一个如下的程序:
#include<iostream.h>
class x
{
    int a;
public:
    x(){a = 3;}
    int geta()
    {
        cout << a << endl;
        return a;
    }
};
class y : x
{
    int b;
public:
    x::geta;   //请教这个地方是什么意思?
    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次,网上好像没有类似的问题。实在无奈,烦请各们位高手指点一下,并请给出详细的讲解!谢谢!

[ 本帖最后由 circlesky 于 2010-5-19 09:02 编辑 ]
搜索更多相关主题的帖子: include public return result 
2010-05-18 22:41
blocksky
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 07:47
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:0 
如果是公用继承的话 应该不用你在继承类中声明父类的函数了吧
如果父类中定义重载了函数名,方法也是一样的x::geta,当你调用的时候,编译器会自动绑定的
x::geta这样写,意思是使用父类的x类geta函数,写在public中,表示是可以被外部调用(前提是父类中geta是public的)
2010-05-22 22:55
快速回复:向高手请教一个继承问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014859 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved