没有合适的资源?快使用搜索试试~ 我知道了~
首页C++动态联编与虚函数详解
C++动态联编与虚函数详解
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 161 浏览量
更新于2024-06-27
收藏 189KB DOCX 举报
本资源是一份关于C++编程语言的网络作业答案文档,主要涵盖了选择题部分,涉及动态联编、虚函数和运行时多态性的概念。 一、动态联编 1. 动态联编是面向对象编程中的一个重要概念,它允许在运行时根据对象的实际类型来决定调用哪个函数,而非在编译时确定。选项D描述错误,因为动态联编并非在编译时确定操作函数,而是通过虚函数机制实现的。虚函数是关键,必须存在于基类中,并且由指向对象的指针或引用来调用,以支持多态性。 虚函数 2. 虚函数是C++中的一个非静态成员函数,用于实现多态性。选项A和B不正确,虚函数不是静态成员也不是非成员函数;选项C描述有误,虚函数的声明必须在类的定义中,不能在函数实现时定义。正确答案是D,派生类的虚函数与基类虚函数参数个数和类型需保持一致,这是实现动态联编的基础。 虚函数声明和调用 3. 声明虚函数的关键字是`virtual`,选项A正确。对于虚函数的调用,由于涉及到多态性,可能需要动态联编,即通过对象指针或引用来调用,而不是通过对象名或成员名限定,因此选项A也是正确的。 运行时多态性 4. 实现运行时多态性,也就是动态绑定,通常使用虚函数和动态联编,因此选项D最准确,表示不一定总是使用动态联编,取决于具体的设计和使用场景。 动态联编的调用方式 5. 要实现动态联编,必须通过对象指针或引用调用虚函数,这可以确保在运行时根据实际对象类型选择正确的函数执行,选项A符合题意。 这份文档主要介绍了C++中动态联编、虚函数的声明与调用,以及如何通过虚函数实现运行时多态性。理解这些概念对于深入学习C++面向对象编程至关重要。
资源详情
资源推荐
17 分析下面的程序,正确的输出结果是___B
#include <iostream。h>
#include <string.h>
class Base
{
public:
virtual char *fun() const=0;
}
char* Base::fun() const{ return “Base"; }
class Derivedl1: virtual public Base
{
public:
char* fun() const { return ”Derived11"; }
};
class Derivedl2: virtual public Base
{
public:
char* fun() const { return "Derivedl2”; }
};
class Derived2: public Derivedl1,public Derivedl2
{
public:
char* fun() const
{
char *ptr;
ptr=new char[strlen(Derivedl1::fun())+strlen(Derivedl2::fun())+l];
strcpy(ptr,Derived11::fun()),
strcat(ptr,Derived12::fun());
return ptr;
}
};
void main()
{
Base *pb;
pb=new Derived11;
cout<<pb-〉fun()〈<endl;
pb=new Derivedl2;
cout〈<pb—〉fun()<<endl;
pb=new Derived2;
cout〈〈pb—〉fun()〈〈endl;
}
A)
B)
Base
Base
Derivedl1
Derivedl2
剩余19页未读,继续阅读
G11176593
- 粉丝: 6775
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功