摘要: 大千世界可定有独一无二的东西(对象),copy构造函数没存在的意义,所以我们就要防止编译器为我们生成copy构造函数,在条款05我们也曾经提过:当我们调用copy构造函数时如果没有定义,编译器会自动为我们生成,我们如何拒绝编译器的盛情呢?我们想到了把自己的类里,声明个private的copy构造函数和copy assignment,如下:class HomeForeSale{public:private: HomeForeSale(const HomeForeSale&); HomeForeSale& operator=(const HomeForeSale&);但.. 阅读全文
posted @ 2013-04-27 21:04 onlycxue 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 当一个空类经过C++编译器处理之后会发生下面的变化:处理前class Empty{ };处理后:class Empty{public: Empty(){}; ~Empty(){}; Empty(const Empty& rhs){}; Empty& operator=(const Empty& rhs){};}也就是说C++编译器会为一个空类自动生成默认的构造函数、copy构造函数、析构函数以及赋值运算符函数,唯有这些函数被需要(被调用),它们才会被编译器创建出来。Empty e1; //调用default构造函数Emp... 阅读全文
posted @ 2013-04-27 20:17 onlycxue 阅读(229) 评论(0) 推荐(0) 编辑