Effective C++ 讀後感筆記

1.賦值不必定是初始化。例如函數

AClassName::AClassName(const std::string &name, const std::string &address,
    const std::list<PhoneNumber> &phones)
{
     theName = name;          //這些都是賦值
      theAddress = address; //而非初始化
      thePhones = phones;
     numTimesConsulted = 0;
}

AClassName::AClassName(const std::string &name, const std::string &address,
    const std::list<PhoneNumber> &phones)
    :theName(name),                //這些都是初始化
      theAddress(address),
     thePhones(phones),
     numTimesConsulted(0)
{}        //構造函數本體沒必要作任何動做

2.類的默認繼承級別爲private,而struct默認爲public。spa

  PS:①public繼承,基類成員保有本身的訪問級別:基類的public爲派生類的public,基類的protected爲派生類的protected;②protected繼承,基類的public和protected在派生類中爲protected;code

      ③private繼承,基類全部成員在派生類中爲private。blog

相關文章
相關標籤/搜索