首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
蜡蜡
广州中医药大学
2020届
其它
关注
私信
加入黑名单
举报TA
首页
刷题
圈子
项目
笔记
基本资料
真题试卷
在线编程
心理测试
回答的问题(702)
假设Corporation是基类,PublicCorporation是派生类。在假设这两个类都定义了head()函数,ph是指向Corporation类型的指针,且被赋给了一个PublicCorporation对象的地址。如果基类将head()定义为:
0
如果head()是一个常规方法,则ph->head()将调用Corporation::head();如果head()是一个虚函数,则ph->head()将调用PublicCorporation::head()。
发表于 2018-09-03 20:53:28
为什么通常按引用传递对象比按值传递对象的效率更高?
0
按引用(而不是按值)传递对象,这样可以确保函数从虚函数受益。另外,按引用(而不是按值)传递对象可以节省内存和时间,尤其对于大型对象。按值传递对象的主要优点在于可以保护原始数据,但可以通过将引用作为const类型传递,来达到同样的目的。
发表于 2018-09-03 20:53:22
假设定义了一个函数,它将基类对象作为参数(即函数按值传递基类对象)。为什么该函数也可以将派生类对象作为参数?
0
按值传递对象将调用复制构造函数。由于形参是基类对象,因此将调用基类的复制构造函数。复制构造函数以基类引用为参数,该引用可以指向作为参数传递的派生对象。最终结果是,将生成一个新的基类对象,其成员对应于派生对象的基类部分。
发表于 2018-09-03 20:53:19
假设定义了一个函数,它将基类对象的引用作为参数。为什么该函数也可以将派生类对象作为参数?
0
它可以这样做,因为C++允许基类引用指向从该基类派生而来的任何类型。
发表于 2018-09-03 20:53:15
可以将派生类对象赋给基类对象吗?可以将基类对象赋给派生类对象吗?
0
是的,可以将派生类对象赋给基类对象。对于派生类中新增的数据成员都不会传递给基类对象。然而,程序将使用基类的赋值运算符。仅当派生类定义了转换运算符(即包含将基类引用作为唯一参数的构造函数)或使用基类为参数的赋值运算符时,相反方向的赋值才是可能的。
发表于 2018-09-03 20:53:12
可以将派生类对象的地址赋给基类指针吗?可以将基类对象的地址赋给派生类指针吗?
1
当然,可以将派生类对象的地址赋给基类指针,但只有通过显式类型转换,才可以将基类对象的地址赋给派生类指针(向下转换),而使用这样的指针不一定安全。
发表于 2018-09-03 20:53:09
如果基类和派生类定义了同名的方法,当派生类对象调用该方法时,被调用的将是哪个方法?
0
只调用派生类方法。它取代基类定义。仅当派生类没有重新定义方法或使用作用域解析运算符时才会调用基类方法。然而,应把将所有要重新定义的函数声明为虚函数。
发表于 2018-09-03 20:53:05
创建和删除派生类对象时,构造函数和析构函数调用的顺序是怎样的?
0
按派生的顺序调用构造函数,最早的构造函数最先调用。调用析构函数的顺序正好相反。
发表于 2018-09-03 20:53:01
假设baseDMA ::operator=()函数的返回类型为void,而不是baseDMA &,这将有什么后果?如果返回类型为baseDMA,而不是baseDMA &,又将有什么后果?
0
如果返回的类型为void,仍可以使用单个赋值,但不能使用连锁赋值: baseDMA magazine("Pandering to Glft2", 1); baseDMA gift1, gift2, gift3); gift1 = magazine; // ...
发表于 2018-09-03 20:52:56
假设有一个从异常基类派生来的异常类层次结构,则应按什么样的顺序放置catch块?
0
应按从子孙到祖先的顺序排列catch语句块。
发表于 2018-09-03 20:50:15
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题