游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2248|回复: 7

关于基类调用子类的成员。

[复制链接]

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2004-6-2 12:37:00 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2004-6-2 13:00:00 | 显示全部楼层

Re:关于基类调用子类的成员。

将你的源代码贴出来

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-6-2 13:33:00 | 显示全部楼层

Re:关于基类调用子类的成员。

你的问题表述不是很清楚,感觉你的逻辑好像有点问题,为什么要让基类去调用派生类的内容?似乎有点不妥。

4

主题

54

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2004-6-2 17:30:00 | 显示全部楼层

Re:关于基类调用子类的成员。

是楼主没说清楚。。
估计楼主是这样的,并不是什么基类调用子类的问题:
在类CA中定义了一个成员变量CB* pB,在CA的成员函数中调用pB->BFunc();
但是楼主不想在a.h中include "b.h",所以在class CA前面声明了class CB

如果仅仅是定义一个CB类型的成员变量,这样做足够了,
但是因为你在a.h中调用了CB类的成员函数,因此必须include "a.h"

0

主题

8

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2004-6-2 19:47:00 | 显示全部楼层

Re:关于基类调用子类的成员。

使用友元类,或者静态成员函数

18

主题

135

帖子

143

积分

注册会员

Rank: 2

积分
143
发表于 2004-6-2 20:28:00 | 显示全部楼层

Re:关于基类调用子类的成员。

不懂
学习

6

主题

74

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2004-6-3 16:05:00 | 显示全部楼层

Re:关于基类调用子类的成员。

晕倒,你把定义和实现写一块儿了吧?
分开写就行了。
class CB;
class Ca{
CB* pb;

void some();
}

class CB:public CA{
int n;
....
}

void CA::Some(){
pb->n=0;
}

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2004-6-3 21:24:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-1 17:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表