Effective C++ 18. Make interfaces easy to use correctly and hard to use incorrectly

来源:互联网 发布:程序员大牛 编辑:程序博客网 时间:2024/06/13 02:25
Class Month {public:    explicit Month() {        month = m;    }private:    int month;};Month Jan(Month(1));
// in other file extern Month Jan;Data d(Jan, Day(30), Year(1995));   // wrong! unless Jan is initialized before d defined
class Month {public:    static Month Jan() { return Month(1); }private:    explicit Month(int m);};Date d(Month::Jan(), Day(30), Year(1995));
阅读全文
0 0
原创粉丝点击