社区
C++ 语言
帖子详情
请教权限问题!
aXu
2004-07-21 04:36:28
可不可以使用指针访问类中的保护型成员函数?在什么情况下可以?
...全文
109
12
打赏
收藏
请教权限问题!
可不可以使用指针访问类中的保护型成员函数?在什么情况下可以?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aXu
2004-07-21
打赏
举报
回复
可以了
加了一个强制转换就可以了,谁能告诉我为什么?及类强制转换到派生类?怎么样寻找派生类的成员?
aXu
2004-07-21
打赏
举报
回复
我试验了一下,上面的程序还是不行,访问不了保护成员。
leonchew
2004-07-21
打赏
举报
回复
楼主这样当然可以了。
我在上面的回复中也说过:派生继承类中可以 :)
freefalcon
2004-07-21
打赏
举报
回复
派生类改写了那个函数
——当然可以了
aXu
2004-07-21
打赏
举报
回复
关键代码大概有10m,赫赫,公司的一个类库,我找到了一个派生类,该类中改写了那个函数,并且是public的,我想这是编译能通过的原因,大家怎么看?
class A
{
public:
A();
~A();
protected:
virtual void fun();
};
class Aa : public A
{
public:
Aa();
~Aa();
virtual void fun();
}
main()
{
A *pA;
pA->fun();
}
这样应该可以编译通过了。我在试试。
freefalcon
2004-07-21
打赏
举报
回复
你能把关键代码贴出来吗?比如该函数的在类中的声明,以及其使用,或者你彷写一个也行
leonchew
2004-07-21
打赏
举报
回复
应该没有。派生继承类中可以
aXu
2004-07-21
打赏
举报
回复
freefalcon(心宇—小小菜鸟想高飞)
你那么写我也知道,可是你看看我上面的贴子。
aXu
2004-07-21
打赏
举报
回复
我试验过了,是不可以,连编译都过不去,可是我却看到了,在我们公司的库里,很是奇怪。
m_pGObjectNew->OnConstruct_MouseOpProc_LDn();
看看我拷贝过来的东西。函数是指针的一个保护型成员。代码再vc里编译通过了。
freefalcon
2004-07-21
打赏
举报
回复
既然是保护的,就不允许这种情况出现,实际上当你对保护成员函数取地址时就已经访问到它了,编译器会积极的拒绝你
下面的代码可以,但它仍然是通过类自身的公共接口实现的
class A
{
public:
typedef void (A::*FP)();
FP get()
{
return print;
}
protected:
void print()
{
printf("Hi\n");
}
};
int main(int argc, char* argv[])
{
A a;
(a.*(a.get()))();
}
yjh1982
2004-07-21
打赏
举报
回复
没有可移植的方案
geesun
2004-07-21
打赏
举报
回复
可以吗?不可以吧!好像没有情况下面是可以的吧!保护成员是让继承的时候用的吧!对于外面的用户,他跟private是一样的吧!
SAMBA
问题
文件无法写入及多组
权限
设置
请教
SAMBA
问题
文件无法写入及多组
权限
设置
MySQL授权
问题
总结
我用localhost的root帐号不能连 最后
请教
DBA组新建用户搞定! 现弄些受权用户的资料 以备不时之需 授权表使用举例 grant用于给增加用户和创建
权限
,revoke用于删除用户
权限
。 下面是一些用grant增加用户和创建
权限
...
Vue+SpringBoot+Shiro+通用Mapper
本课程将用当下最流行的前端框架Vue,后台框架SpringBoot,和Shiro实现
权限
管理的基本功能(用户管理 角色管理
权限
管理) 采用Mybatis和通用Mapper实现数据库的持久化操作。 1.讲解Vue基本使用包括接口调用 2.讲解...
android设备相关
权限
,
请教
Android打开设备的
权限
问题
请教
Android打开设备的
权限
问题
你具体指的哪个
权限
?比如说你要数据共享,网络下载数据的时候
权限
:android:name="android.permission.INTERNET"就是加inter啊。数据库用sqllite自己做的
权限
...
android 视频播放
权限
,
请教
一个关于动态
权限
和视频播放
问题
第一次进来获取到动态
权限
,拿到
权限
后把播放控件放到父容器播放,但是现在的情况是,第一次拿到动态
权限
后不能播放,需要第二次或以后进来才能播放,确定是有拿到播放url的,请问这种
问题
该怎么解决?想要第一次进来获取到...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章