![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习杂记
Tiramisu_zyp
这个作者很懒,什么都没留下…
展开
-
需要析构函数的类也需要拷贝和赋值操作
如果一个类需要析构函数,几乎可以肯定它也需要一个拷贝构造函数和一个拷贝赋值运算符。 以下讨论原因。 1没有拷贝拷贝构造函数和拷贝赋值运算符的情况 (1)main中拷贝初始化对象的情况#include #include using namespace std;#include #include using namespace std;class S{public:原创 2015-06-04 13:59:52 · 676 阅读 · 0 评论 -
函数调用 中 的拷贝构造函数
由课后练习13.15引出的问题: 当函数的形参是类的非引用对象时,实参传入时需要调用拷贝构造函数。 而当函数的形参是类的引用时,实参传入不需要调用拷贝构造函数。可以理解为,当形参是引用时,直接把实参拿来用,而不用将实参拷贝一份作为形参供函数体使用。以下用具体函数说明:该函数要实现 每个类都能独立分配一个id。(1)类中没有拷贝构造函数时:#include using n原创 2015-06-04 16:18:09 · 524 阅读 · 0 评论 -
一点思考
1.如果类中有指针成员,并且给指针动态分配了地址,在析构函数中释放了该地址。那么就必须编写自定义的 拷贝构造函数 和 拷贝赋值运算符函数。否则,使用合成的函数时,在拷贝初始化 和 类间赋值 时, 编译器仅仅是对对象的简单复制(包括指针),即指针的值简单的拷贝,这样两个对象的指针成员指向同一个地址。当退出对象的作用域时,析构释放动态内存,此时,相同的地址将被释放多次,出现错误。原创 2015-06-06 16:40:59 · 267 阅读 · 0 评论 -
C++ 虚函数 剖析
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形转载 2015-06-14 10:58:48 · 281 阅读 · 0 评论 -
C++ 虚析构函数 分析
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout "Do转载 2015-06-14 11:55:35 · 324 阅读 · 0 评论