![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
_Index_
这个作者很懒,什么都没留下…
展开
-
C++虚析构函数
为防止内存泄露,定义一个基类的指针p,在delete p时,如果基类的析构函数是虚函数,这时会看指针p所指向的对象是什么类型的,如调用构造函数时,先调用基类构造函数,再调用派生类构造函数,调用析构函数时,先调用派生类再调用基类析构函数。这种需要等到编译器运行时才能确定对象的类型叫动态联编,若基类中没有声明虚析构函数,则将根据p的指针类型调用,而不是p所指向的对象...原创 2020-07-16 10:02:57 · 151 阅读 · 1 评论 -
C++复制构造函数
什么是复制构造函数?复制构造函数形如:假设类为StringBad,其相应的构造函数为StringBad(const StringBad &);当使用一个对象初始化另一个对象的时候,编译器将自动生成上述函数每当程序生成对象副本时,编译器都将使用复制构造函数如一个函数为call(StringBad sb)sb为其副本,创建sb时就调用了该函数,这也就会造成如果某个类型中有字符串时候,其副本因为浅拷贝的问题会指向与原类相同的地址,造成析构时,重复释放该地址内存。假设m.原创 2020-07-12 21:54:43 · 77 阅读 · 0 评论