若基类只存在含参数的构造函数,在派生类定义构造函数时,必须以成员列表的形式为基类初始化;
若基类有默认构造函数,或不含参数的构造函数,则不必在成员列表中为基类初始化。
<span style="font-size:12px;"></span>
<span style="font-size:12px;">class A
{
public:
<strong><span style="font-size:14px;">A(int data1,int data2):a(data1),b(data2){}</span></strong>
int get(){ return a; }
};</span>
<span style="font-size:12px;">//B.h 派生类
#include <iostream>
#include "A.h"
template <class T>
class B:public A<T>
{
public:
B(T data1,T data2,T data3):<span style="font-size:14px;"><strong>A<T>(data1,data2)</strong></span>{c=data3;} //基类只存在含参数的构造函数,故在派生类构造函数的成员列表中为基类初始化
void prin