[英]abstract classes and constructor in C++
我讀過這個問題“ C ++抽象類:構造函數是或否? ”以及屬於它的答案。
但根據答案,我理解我們需要構造函數來初始化它的數據成員,但是我可以在我的派生類中使用其成員函數(如setter函數)來初始化數據成員,那么為什么定義構造函數很重要?
默認構造函數定義和成員初始化使類自包含有關正確的設置條件(有效狀態)。
對於類客戶端( 包括繼承類 ),使用setter方法來操作類實例是可選的。
您可以考慮添加更多構造函數簽名,客戶端可以使用這些簽名通過單個調用來初始化類成員,並且不要求這些簽名者應用其他setter調用。
這取決於特定的用例,最終更方便和語義正確。
兩個原因:
可能更多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.