`
insertyou
  • 浏览: 901320 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Effective C++ 2

 
阅读更多

当自己声明了一个构造函数,则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

    《Effective C++ 2ndEd》是C++编程领域中一本经典的著作,由Scott Meyers撰写,台湾地区的翻译版提供了中文阅读的便利。这本书旨在帮助程序员写出更高效、更易于理解和维护的C++代码,通过一系列实践性的编程指导...

    effective c++ 2nd 中文

    2. **智能指针**:C++11引入了智能指针,如`std::unique_ptr`, `std::shared_ptr`和`std::weak_ptr`,它们自动管理对象的生命周期,防止悬挂指针和内存泄漏。理解如何正确使用这些智能指针,对于编写安全的代码至关...

    Effective C++2e

    《Effective C++2e》是一本深入探讨C++编程实践的经典书籍,由Scott Meyers撰写。这本书主要关注如何编写高效、可靠且易于维护的C++代码。Meyers提出了55个具体的编程准则,旨在帮助程序员更好地理解和利用C++语言的...

    Effective C++ 2e CN

    《Effective C++ 2e CN》是C++编程领域中一本极为重要的著作,由Scott Meyers撰写,中文第二版提供了对中国程序员来说更为亲切的阅读体验。这本书深入浅出地介绍了如何编写更高效、更可靠、更易于维护的C++代码。...

    Effective_C++2e.rar

    《Effective C++ 2nd Edition》是Scott Meyers的经典之作,深入浅出地探讨了C++编程中的最佳实践和常见陷阱。这本书包含了55个有效的编程准则,旨在帮助程序员写出更高效、更易于理解和维护的代码。以下是其中一些...

    Effective C++ 2nd Edition 中文版

    ### Effective C++ 2nd Edition 中文版:从C转向C++ #### 1. C与C++的区别 C++作为C语言的一个超集,在保留了C语言所有特性的同时,引入了许多新的概念和技术,使得程序员在设计和编程时拥有更多的选择。例如,在...

    c++ effective和more effective c++

    3. "Effective_C++2e(中文).pdf":这同样是《Effective C++》第二版的中文版,与CHM格式互补,提供不同的阅读选择。 总的来说,《C++ Effective》和《More Effective C++》是C++程序员的必读之作,它们涵盖了C++...

    effective c++和more effective c++

    《Effective C++》和《More Effective C++》是C++编程领域中的两部经典之作,由Scott Meyers撰写。这两本书深入浅出地探讨了如何更有效地利用C++语言特性,提升代码质量和效率,是每一位C++程序员必备的参考书籍。 ...

    Effective C++ More effective C++ 中文版 .chm .rar

    《Effective C++》和《More Effective C++》是两本非常经典的C++编程指南,由Scott Meyers撰写,旨在帮助开发者提升C++编程技巧和理解深度。这两本书中包含了一系列的编程实践和建议,旨在让程序员写出更高效、更...

    effective c++ & more effective c++ 纯文字版

    effective c++ & more effective c++ 纯文字版

    Effective_C++2e

    Effective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2eEffective_C++2e

    Effective C++跟more Effective c++

    《Effective C++》和《More Effective C++》是两本由Scott Meyers撰写的经典C++编程指南,深受程序员喜爱。这两本书深入探讨了C++编程的最佳实践和常见陷阱,帮助开发者写出更高效、更安全的代码。以下是对这两本书...

    Effective C++ 中文带目录

    《Effective C++》第三版由Scott Meyers所著,是一本经典的C++编程书籍。本书不仅深入探讨了C++语言的高级特性,也提出了一系列编程实践中的最佳实践和技巧。侯捷老师翻译的中文版,使更多的中文读者能够学习和掌握...

    Effective C++ && More Effective C++(完整版)

    这是我辛苦找来的侯捷翻译的Effective C++ && More Effective C++(完整版),其中Effective C++ 包括中文第二版,中文第三版,还有英文第三版。我这还有pdf,但是大于15MB,传不上去,有需要的,可以像我要啊!

    Effective C++ & More Effective C++.chm

    Effective C++ & More Effective C++.chm

    Effective C++中文第3版.pdf 带目录书签 清晰版

    《Effective C++中文第3版》是一本由Scott Meyers所著的经典著作,该书深入浅出地介绍了C++编程语言的最佳实践与设计原则。它不仅适合初学者掌握C++的核心概念,也是资深程序员提高代码质量和性能的宝典。下面,我们...

    More Effective C++ 侯捷 pdf

    More Effective C++ 侯捷 pdf

    Effective C++第三版中文版高清版侯捷 译

    2. **智能指针**:随着C++11的发布,智能指针(如`std::unique_ptr`、`std::shared_ptr`和`std::weak_ptr`)成为了管理动态内存的重要工具。书中会详细介绍它们的用法和最佳实践,避免内存泄漏和悬挂指针的问题。 3...

Global site tag (gtag.js) - Google Analytics