这是书上的原题,当了完全的搬运工,但是不知道为什么总是提示a,b,c,d不明确

#include
using namespace std;
class Base1{
public:
Base1(int i){cout<<"Constructing Base1"<<i<<endl; }//父类1有参的构造函数
};

class Base2{
public:
Base2(int j){cout<<"Constructing Base2"<<j<<endl; }//父类2有参的构造函数
};

class Base3{
public:
Base3(void){cout<<"Constructing Base3 *"<<endl; }//父类3无参的构造函数
};

class Derived:public Base2,public Base1,public Base3//多个基类的继承
{
public:
Derived{int a,int b,int c,int d}:Base1(a),member2(d),member(c),Base2(b)
{}//派生类的构造函数定义
private:
Base1 member1;
Base2 member2;
Base3 member3;

};

int main()

Derived obj(1,2,3,4);//派生类析构函数的初始化
 return 0;

}

#include <iostream>

using namespace std;
class Base1{
public:
Base1(int i){cout<<"Constructing Base1"<<i<<endl; }//父类1有参的构造函数
};

class Base2{
public:
Base2(int j){cout<<"Constructing Base2"<<j<<endl; }//父类2有参的构造函数
};

class Base3{
public:
Base3(void){cout<<"Constructing Base3 *"<<endl; }//父类3无参的构造函数
};

class Derived:public Base2,public Base1,public Base3//多个基类的继承
{
public:
Derived(int a,int b,int c,int d):Base1(a),member2(d),member1(c),Base2(b)
{}//派生类的构造函数定义
private:
Base1 member1;
Base2 member2;
Base3 member3;

};

int main()
{
Derived obj(1,2,3,4);//派生类析构函数的初始化
 return 0;
}

Derived{int a,int b,int c,int d}:Base1(a),member2(d),member(c),Base2(b) 这一行符号用错了,1.{...} 改成 (...); 2. member 改成 member1敲代码仔细点;楼上已经帮你解决了