一个C++基类的构造函数中,这种类似于继承的写法叫什么,是什么意思?

2025-02-25 06:05:58
推荐回答(4个)
回答1:

那个是类成员变量的初始化
举个简单的例子
class A
{
public:A(int x):a(x){}//等同于A(int x){a=x;}
private:int a;
}
但是有些成员并不能用A(int x){a=x;}这样的方式去初始化,比如用const修饰的变量。。。

回答2:

是类的成员变量的初始化列表,类必须提供成员变量的初始化列表,如果不提供,编译器会提供一个,即使你在类的构造函数中将成员初始化了(实际上应该是赋值),初始化列表也会默认提供。

回答3:

BaseAddress(Base), Bus(Btype)
即初始化Base为BaseAddress
初始化Btype为Bus

其是在构造函数完成之前就去初始化,比在
ENCODERHW(DWORD Base, BUSTYPE Btype)
{
BaseAddress=Base;
Bus=Btype;
}
效率更高。

回答4:

是指调用父类构造函数的参数列表。