- 博客(2)
- 收藏
- 关注
原创 C++查漏补缺笔记(一)
C++查漏补缺笔记(一)Q1:构造函数的深拷贝与浅拷贝A1:类中包含指针成员(char*等)时,务必要编写复制构造函数(形参为常引用对象,一定要是常引用才能避免浅复制)和复制赋值运算符(否则实例化a=实例化b时会发生浅复制)。浅复制的原因在于对象按值传递时,编译器会执行二进制复制,对于指针成员,形参对象会照搬其内容(即指向同一内存单元)。如果该类需要在堆区开辟空间(使用new),那么势必要在析构函数中将申请的空间delete掉。浅复制就会发生在此刻:形参在函数结束后不复存在,它会调用delete释放所n
2021-03-25 11:10:04
198
原创 C++中虚函数的笔记
分为两类:1.用于函数声明:a.基类中的虚函数声明:形参列表中定义的基类参数、但实际指向的是派生类参数时,将会表现为派生类对象行为(即表现派生类的特殊性);b.定义基类中的虚析构函数,这样在使用new在自由存储区中实例化子类派生类对象时,如果将其赋给基类指针,可避免delete用于基类指针时编译器不会调用派生类的析构函数的情况发生;c.抽象基类中的纯虚函数,作为定义派生类的接口;2.用于类的继承————解决菱形问题:从Base类派生出Derived1和Derived2类时,如果使用了关键字virt
2020-06-19 17:19:10
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人