C++虚继承问题求助
#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();
}
儿子继承自父亲。 - 所以别光用儿子
要么,显式调用父类构造函数;Littleboy(a, b) : MyFunction(a, b) 得告诉父亲一声不是?
要么,给父类一个默认构造函数;MyFunction() 父亲必须先知道这个事才能让你做
另外给撸主一个建议,虚基类 这样写不是很舒服,这里根本没体现。可能撸主为了验证某一个问题,我多嘴了。
页:
[1]