VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 627|回复: 6

[求助] 这样难道不行?

[复制链接]
88_avatar_middle
在线会员 发表于 2016-7-2 20:23:54 | 显示全部楼层 |阅读模式
3驿站币


#include "stdafx.h"

class A
{
public:
        int x;
        void f()
        {
                printf("aaaaaaaaaaaaa\n");
        }
};
class G
{
public:
        int x;
        void f()
        {
                printf("aaaaaaaaaaaaa\n");
        }
};

class B:public A,public G
{

};

class C:public A
{

};

class D:public B,public C
{

};

void main()
{
        D d;
        d.B::A::f();
}





上一篇:求一HMAC-SHA256 加密源码,百度搜遍了,没找到
下一篇:请帮我做一个选择
88_avatar_middle
ico_lz  楼主| 发表于 2016-7-2 20:26:52 | 显示全部楼层
没人在吗,在线等
88_avatar_middle
ico_lz  楼主| 发表于 2016-7-2 20:52:18 | 显示全部楼层

没人在吗,在线等
10_avatar_middle
在线会员 发表于 2016-7-2 21:49:03 | 显示全部楼层
完全可以啊
51_avatar_middle
online_admins 发表于 2016-7-6 16:14:25 | 显示全部楼层
报什么错误,贴出来看看
31_avatar_middle
在线会员 发表于 2016-7-6 16:25:21 | 显示全部楼层
我是真没看懂
61_avatar_middle
在线会员 发表于 2016-7-6 21:30:57 | 显示全部楼层
这个肯定是不行的, d.B::A::f();这句话首先解析的是后面的B::A,B类中没有A这个成员,所以会报错,如果是用类B进行调用
  1. B b;
  2.         b.A::f();
复制代码
,向这样的话A里面有一个成员函数f(),这个时候会调用这个f并把b的地址作为this指针传入,可以正确的调用。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-22 06:08

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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