[補充]
如果一個類的所有成員都是public的,而且沒有默認構造函數,就可以使用intialization list對類的成員進行初始化。
三大法
#include <iostream>
#include <map>
using namespace std;
class A
{
public:
A( int a):i(a),j(a){
// i = a; // i is not modifiable here
}
const int i;
int & j;
};
class B: public A
{
public:
B():A( 0)
{
}
B( int a):A(a) // B's base class A only has one constructor A(int a), so you must provide a way to initilize A's parameters;
{
}
}
#include <map>
using namespace std;
class A
{
public:
A( int a):i(a),j(a){
// i = a; // i is not modifiable here
}
const int i;
int & j;
};
class B: public A
{
public:
B():A( 0)
{
}
B( int a):A(a) // B's base class A only has one constructor A(int a), so you must provide a way to initilize A's parameters;
{
}
}