问答题X 纠错

参考答案:当出现类的等号赋值时,会调用拷贝函数󰀀在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的。󰀀但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象。󰀀所以,这时,必须采用深拷贝。󰀀深拷贝与浅拷贝的区别就在于深拷贝会在堆内存中另外申请空间来储存数据,从而也就解决了指针悬挂的问题。󰀀简而言之,当数据成员中有指针时,必须要用深拷贝。
查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

问答题

类中的静态成员与类的数据成员有什么区别?

参考答案:静态数据成员是拥有全局寿命的成员,即在文件的开始到结束期间,内存始终都为其分配存储单元,它可以是局部变量,也可以使全局变...

问答题

为什么子类对象可以给父类对象赋值,而父类对象不能给子类对象赋值?

参考答案:父类定义为抽象接口类,子类继承父类然后重新实现接口。C++中子类的对象赋值给父类的对象。如果把子类的对象赋值给父类的对象...

问答题

为什么析构函数通常声明为虚函数,而构造函数不能是虚函数?

参考答案:因为构造函数不被继承,而虚函数是要在派生类中重定义的。定义虚析构函数后,由于多态,当使用基类指针指向派生类对象时,会调用...

问答题

C++程序设计语言是如何实现多态的?

参考答案:

共用同一个函数名,同时有不同数量或者不同类型的参数。󰀀系统会根据参数自动调用对应的函数,这样就实现了多态

问答题

C++程序设计语言中虚函数指针和虚函数表的作用?

参考答案:C++编译器为每个“内含虚拟函数的类”建立一个虚拟函数表(vtablE.,表中每一个指针元素指向...

问答题

C++程序设计语言中this指针的作用?

参考答案:一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静...

问答题

面向对象程序设计具有哪三大特点及其目的?

参考答案:封装,继承,多态封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的进行...

问答题

C++中采用类的概念将数据以及处理数据的函数封装在一起的好处?

参考答案:C++采用类(class)的概念将数据以及处理数据的函数封装在一起,将一部分行为作为外部访问的接口与外部发生联系,而将数...

问答题

面向过程和面向对象在程序组织方式上的差别?

参考答案:面向过程的核心是功能的分解,最终的程序由过程构成,将数据结构和过程作为两个实体对待,着重点在过程。缺点就是一旦数据结构需...

单项选择题

A.静态成员函数可以是虚函数
B.构造函数不可以是虚函数
C.析构函数不可以是虚函数
D.内联函数可以是虚函数

赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved