手电大家谈-手电筒爱好者之家

 找回密码
 注册成为会员,享受更多功能。

QQ登录

只需一步,快速开始

只需一步,快速开始

搜索
查看: 2918|回复: 3

[电子电路] 请教各位C++语言里的派生类对象调用基类函数报错的问题

[复制链接]
  • TA的每日心情
    开心
    2021-12-29 09:01
  • 签到天数: 1219 天

    [LV.10]以坛为家III

    发表于 2021-3-3 10:31 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?注册成为会员,享受更多功能。

    x
    开发环境还是AVR。不太记得class是怎么玩的了,请教下各位有一个头文件,比如A.h,代码简单,就下面:
    class A
    {
    public:
        void Open(void)
       {
           //...........................
       }
    };
    有个头文件,比如B.h,代码如下:
    #include "A.h"
    class B:public A
    {
    };
    class C:public B
    {
    };
    然后主程序main.cpp,代码如下:
    #include "B.h"
    #include "A.h"    //加了也没用
    。。。。
    C c;
    c.Open();     //<--------------------------,看不懂哪里错了,难不成我还要在C类里面再写一遍?
    C.png
    回复 dsu_marcocopyright:copyright

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-29 09:01
  • 签到天数: 1219 天

    [LV.10]以坛为家III

     楼主| 发表于 2021-3-3 10:55 | 显示全部楼层
    知道了,是我的派生类生成对象时构造函数没和基类匹配上,不知道为什么报错不定位到对象定义上。

    点评

    没看到你写,构造函数啊[/backcolor]  详情 回复 发表于 2021-3-3 12:41
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-4-20 16:21
  • 签到天数: 249 天

    [LV.8]以坛为家I

    发表于 2021-3-3 12:41 | 显示全部楼层
    cyradg 发表于 2021-3-3 10:55
    知道了,是我的派生类生成对象时构造函数没和基类匹配上,不知道为什么报错不定位到对象定义上。 ...

    没看到你写,构造函数啊

    点评

    谢谢。C++很久没有,我只是举例,还不太熟悉C++,所以没把构造函数写上来,其实构造函数是有的,只是参数有默认值,写成C c,就是调用了A类构造函数并使用默认值,编译器不报错,运行也正常,我写成了C c(),估计编  详情 回复 发表于 2021-3-8 10:06
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-29 09:01
  • 签到天数: 1219 天

    [LV.10]以坛为家III

     楼主| 发表于 2021-3-8 10:06 | 显示全部楼层
    dstboxu 发表于 2021-3-3 12:41
    没看到你写,构造函数啊

    谢谢。C++很久没用,我只是举例,还不太熟悉C++,所以没把构造函数写上来,其实构造函数是有的,只是参数有默认值,写成C c,就是调用了A类构造函数并使用默认值,编译器不报错,运行也正常,我写成了C c(),估计编译器认为是一个新的构造函数,不是A那里的,所以编译报错吧,具体我也是不太清楚。用了class类,蛮多报错自己也是看的稀奇古怪,至今还有仅仅只有一个"ld returned 1 exit status"错误提示的没法解决,没有具体的代码错误位置定位,就是把I2C封装成了对象,调用多个I2C对象,其实就是操作多个I2C设备,不同的组合有时会编译出现这个错误,其实函数都是一个,代码都一样,有的组合会报告这个错误,有的组合不会,因为封装的函数代码都一样,所以至今找不到什么原因。
    回复

    使用道具 举报

    本版积分规则

    小黑屋|手机版|Archiver|论坛自带搜索|下载论坛app|手电大家谈-手电筒爱好者之家 ( 备案序号:鲁ICP备05002565号 )
    以上言论纯属个人观点,与手电大家谈立场无关。
    最佳浏览模式:1920*1080


    GMT+8, 2024-11-19 20:31 , Processed in 0.207738 second(s), 39 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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