当自己声明了一个构造函数,则default构造函数将不会自动生成。
C++不允许reference改指向不同对象。
如果想要避免对象赋值,则可将赋值构造函数在private中声明。
接下来要讨论的是虚析构函数问题。
class TimeKeeper{
public:
TimeKeeper();
~TimeKeeper();
...
};
class AtomicClock:public TimeKeeper{};
class WaterClock: public TimeKeeper{};
class WristWatch:public TimeKeeper{};
TimeKeeper *getTimeKeeper(); //function,返回指向TimeKeepr派生类。
TimeKeeper* ptk=getTimeKeeper();
delete ptk; //调用~TimeKeeper();从而导致局部删除。
因此引入virtual析构函数。
virtual析构函数使用地点:当此类为基类时。
反之:被当做基类的类要保证析构函数析构正确,即要有virtual析构函数。
想要使类变为抽象类,最方便的方法可以是将析构变为pure virtual,并给出定义。
在构造函数和析构函数中不能调用virtual函数,不会像以上说的那样强。在此时,virtual就是一般函数。
类继承的声明过程,先调用基类构造函数,再派生类构造函数,再析构派生类,最后析构基类。
避免代码重复的办法,声明一个private函数init();将共有的代码放入。
令赋值操作符函数(成员函数)返回reference-to *this;以后会讲到,非成员函数的赋值函数不可以返回reference
下面讲个笑话,如果你自己定义copying函数,则如果你出错,编译器为了报复,不会提醒你错误。
分享到:
相关推荐
《Effective C++ 2ndEd》是C++编程领域中一本经典的著作,由Scott Meyers撰写,台湾地区的翻译版提供了中文阅读的便利。这本书旨在帮助程序员写出更高效、更易于理解和维护的C++代码,通过一系列实践性的编程指导...
2. **智能指针**:C++11引入了智能指针,如`std::unique_ptr`, `std::shared_ptr`和`std::weak_ptr`,它们自动管理对象的生命周期,防止悬挂指针和内存泄漏。理解如何正确使用这些智能指针,对于编写安全的代码至关...
《Effective C++2e》是一本深入探讨C++编程实践的经典书籍,由Scott Meyers撰写。这本书主要关注如何编写高效、可靠且易于维护的C++代码。Meyers提出了55个具体的编程准则,旨在帮助程序员更好地理解和利用C++语言的...
《Effective C++ 2e CN》是C++编程领域中一本极为重要的著作,由Scott Meyers撰写,中文第二版提供了对中国程序员来说更为亲切的阅读体验。这本书深入浅出地介绍了如何编写更高效、更可靠、更易于维护的C++代码。...
《Effective C++ 2nd Edition》是Scott Meyers的经典之作,深入浅出地探讨了C++编程中的最佳实践和常见陷阱。这本书包含了55个有效的编程准则,旨在帮助程序员写出更高效、更易于理解和维护的代码。以下是其中一些...
### Effective C++ 2nd Edition 中文版:从C转向C++ #### 1. C与C++的区别 C++作为C语言的一个超集,在保留了C语言所有特性的同时,引入了许多新的概念和技术,使得程序员在设计和编程时拥有更多的选择。例如,在...
3. "Effective_C++2e(中文).pdf":这同样是《Effective C++》第二版的中文版,与CHM格式互补,提供不同的阅读选择。 总的来说,《C++ Effective》和《More Effective C++》是C++程序员的必读之作,它们涵盖了C++...
《Effective C++》和《More Effective C++》是C++编程领域中的两部经典之作,由Scott Meyers撰写。这两本书深入浅出地探讨了如何更有效地利用C++语言特性,提升代码质量和效率,是每一位C++程序员必备的参考书籍。 ...
《Effective C++》和《More Effective C++》是两本非常经典的C++编程指南,由Scott Meyers撰写,旨在帮助开发者提升C++编程技巧和理解深度。这两本书中包含了一系列的编程实践和建议,旨在让程序员写出更高效、更...
effective c++ & more effective c++ 纯文字版
Effective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2e
《Effective C++》和《More Effective C++》是两本由Scott Meyers撰写的经典C++编程指南,深受程序员喜爱。这两本书深入探讨了C++编程的最佳实践和常见陷阱,帮助开发者写出更高效、更安全的代码。以下是对这两本书...
《Effective C++》第三版由Scott Meyers所著,是一本经典的C++编程书籍。本书不仅深入探讨了C++语言的高级特性,也提出了一系列编程实践中的最佳实践和技巧。侯捷老师翻译的中文版,使更多的中文读者能够学习和掌握...
这是我辛苦找来的侯捷翻译的Effective C++ && More Effective C++(完整版),其中Effective C++ 包括中文第二版,中文第三版,还有英文第三版。我这还有pdf,但是大于15MB,传不上去,有需要的,可以像我要啊!
Effective C++ & More Effective C++.chm
《Effective C++中文第3版》是一本由Scott Meyers所著的经典著作,该书深入浅出地介绍了C++编程语言的最佳实践与设计原则。它不仅适合初学者掌握C++的核心概念,也是资深程序员提高代码质量和性能的宝典。下面,我们...
More Effective C++ 侯捷 pdf
2. **智能指针**:随着C++11的发布,智能指针(如`std::unique_ptr`、`std::shared_ptr`和`std::weak_ptr`)成为了管理动态内存的重要工具。书中会详细介绍它们的用法和最佳实践,避免内存泄漏和悬挂指针的问题。 3...