当我编译一段代码时,编译出现了file not recognized: File format not recognized的错误,但是代码本身也没有问题,最后发现问题出在程序的名字上,我最初给程序命名为7.5.3,这样保存后程序名称后面没有像往常一样出现.cpp的后缀,所以当我把程序名字改为7_5_3之后,重新保存,程序名字后面就自动加上了.cpp的后缀,所以说程序名字保存时不要有“."即可。
#include<iostream>
using namespace std;
class Base0 { //定义基类Base0
public:
Base0(int var) : var0(var) { }
int var0;
void fun0() { cout << "Member of Base0" << endl; }
};
class Base1: virtual public Base0 { //定义派生类Base1
public: //新增外部接口
Base1(int var) : Base0(var) { }
int var1;
};
class Base2: virtual public Base0 { //定义派生类Base2
public: //新增外部接口
Base2(int var) : Base0(var) { }
int var2;
};
class Derived: public Base1, public Base2 {
//定义派生类Derived
public: //新增外部接口
Derived(int var) : Base0(var), Base1(var), Base2(var) { }
int var;
void fun() { cout << "Member of Derived" << endl; }
};
int main() { //程序主函数
Derived d(1); //定义Derived类对象d
d.var0 = 2; //直接访问虚基类的数据成员
d.fun0(); //直接访问虚基类的函数成员
return 0;
}