鱼C论坛

 找回密码
 立即注册
查看: 2381|回复: 1

C++虚继承问题求助

[复制链接]
发表于 2016-3-15 22:40:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#ifndef MYFUNCTION_H_INCLUDED
#define MYFUNCTION_H_INCLUDED
#endif // MYFUNCTION_H_INCLUDED

#include<stdlib.h>
#include<iostream>

using namespace std;

class Myfunction
{
    public:
        Myfunction(int ,int );
        ~Myfunction();
        virtual void Sum();

        int m_a,m_b;
};


Myfunction::Myfunction(int a,int b)
{
    cout<<"Myfunction调用构造函数"<<endl;
    m_a = a;
    m_b = b;
}

Myfunction::~Myfunction()
{
    cout<<"Myfunction调用析构函数"<<endl;
}

Myfunction::void Sum()
{
   cout<<m_a + m_b<<endl;
}


#ifndef LITTLEBOY_H_INCLUDED
#define LITTLEBOY_H_INCLUDED

#endif // LITTLEBOY_H_INCLUDED

#include<stdlib.h>
#include<iostream>
#include"Myfunction.h"

using namespace std;

class Littleboy:public Myfunction
{
    public:
        Littleboy(int a,int b);
        ~Littleboy();
        virtual void Sum();

    private:
        int m_a,m_b;
};


Littleboy::Littleboy(int a,int b)
{
    cout<<"Littleboy的构造函数"<<endl;
    m_a = a;
    m_b = b;
}

Littleboy::~Littleboy()
{
    cout<<"Littleboy的析构函数"<<endl;
}

Littleboy::void Sum()
{
    cout<<m_a - m_b<<endl;
}


#include<stdlib.h>
#include<iostream>


#include"Littleboy.h"

using namespace std;

int main()
{
    Littleboy p(3,4);
    p.Sum();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-16 09:17:58 | 显示全部楼层
儿子继承自父亲。 - 所以别光用儿子

要么,显式调用父类构造函数;Littleboy(a, b) : MyFunction(a, b)     得告诉父亲一声不是?
  
要么,给父类一个默认构造函数;MyFunction()           父亲必须先知道这个事才能让你做

另外给撸主一个建议,虚基类 这样写不是很舒服,这里根本没体现。可能撸主为了验证某一个问题,我多嘴了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 20:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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