part 1

两个问题:

1、派生类中出现与基类同名成员,通过对象名.成员名的方式,即代码中base2.display(),访问的成员是派生类中的成员

2、通过基类指针访问派生类对象时,在ex1_1.cpp中没有virtual,得到的结果全是基类成员函数的调用,在ex1_2.cpp中基类成员函数有virtual,结果基类派生类都依次调用。虚函数是动态捆绑基础,本质是覆盖不是重载。

Part 3

 #include<iostream>
#include<string>
using namespace std; class MachinePets
{
public:
MachinePets(const string s);
MachinePets();
string getNickname();
virtual string talk() = ;
virtual ~MachinePets();
private:
string nickname;
}; void play(MachinePets *p)
{
cout << p->getNickname();
cout << p->talk() << endl;
} MachinePets::MachinePets(const string s) :nickname(s)
{
} string MachinePets::getNickname()
{
return nickname;
} MachinePets::~MachinePets()
{
} class PetCats :public MachinePets
{
public:
PetCats(const string s);
~PetCats();
string talk();
}; PetCats::PetCats(const string s) :MachinePets(s)
{
}
string PetCats::talk()
{
return " says miao wu~";
}
PetCats::~PetCats()
{
} class PetDogs :public MachinePets
{
public:
PetDogs(const string s);
~PetDogs();
string talk();
}; PetDogs::PetDogs(const string s) :MachinePets(s)
{
}
string PetDogs::talk()
{
return " says wang wang~";
}
PetDogs::~PetDogs()
{
} int main() {
PetCats cat("miku");
PetDogs dog("da huang");
play(&cat);
play(&dog);
return ;
}

宠物

实践课上出现如下报错:

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2005 "void __cdecl play(class MachinePets *)" (?play@@YAXPAVMachinePets@@@Z) 已经在 MachinePets.obj 中定义 part3 C:\Users\lenovo\Desktop\part3\part3\PetDogs.obj 1

从网上查的原因是:c++在写模版函数时(template<class T>之类的),头文件不能与cpp文件分离。这就意味着,你头文件定义的含模版的地方必须在头文件中实现,没用模版定义的地方可以放在cpp中实现。(还有一个告诉我要重新安装)

不是很明白,总是觉着应该新开一个都写一块儿,前几回分开写就没有出现这个问题。结果编译成功。

评论

1、https://www.cnblogs.com/elise00/p/10970847.html

2、https://www.cnblogs.com/agsjg/p/10970474.html

3、https://www.cnblogs.com/q1831726125/p/10970152.html

c++第五次实验的更多相关文章

  1. 20145224&20145238 《信息安全系统设计基础》 第五次实验

    20145224&20145238 <信息安全系统设计基础>第五次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...

  2. 20145330《Java程序设计》第五次实验报告

    20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...

  3. 20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  4. Java第五次实验

    Java第五次实验--网络编程与安全 任务一: 一.实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现 ...

  5. Java第五次实验报告

    Java第五次实验报告 实验一 实验内容 两人一组结对编程: 参考 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC. ...

  6. 20135302魏静静——linux课程第五周实验及总结

    linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...

  7. 20165210 Java第五次实验报告

    20165210 实验五 网络编程与安全 网络编程与安全一: 实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA ...

  8. 20145240 《Java程序设计》第五次实验报告

    20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...

  9. 第五次实验报告 java 网络编程

    20145306 第五次 java 实验报告 实验内容 客户端与服务器连接,客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传送给客 ...

  10. 20145317彭垚 《Java程序设计》第五次实验报告

    20145317彭垚实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21: ...

随机推荐

  1. pow,sqrt使用时需注意

    使用时注意类型,可见两者皆不可以用int 1.pow 函数声明: double pow (double base , double exponent); float pow (float base , ...

  2. PHP获取当前日期及本周一是几月几号的方法

    这篇文章主要介绍了PHP获取当前日期及本周一是几月几号的方法,涉及php时间戳.日期转换与运算相关操作技巧,需要的朋友可以参考下 本文实例讲述了PHP获取当前日期及本周一是几月几号的方法.分享给大家供 ...

  3. 关于_T()说明

    #define  _T(X)  L##X _T()是MFC里的宏.VS支持两种编码方式ASCII和Unicode,前者是用单字节编码,只能表示0~255个字符.为了表示各个国家的字符,采用了UNICO ...

  4. vc6++Release和Debug

    1. 如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2. 如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框 ...

  5. linux命令学习笔记(39):grep 命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来. grep全称是Global Regular Expression Print,表示全局正则表 ...

  6. C语言小程序(三)、判断两个日期之差

    输入两个日期,计算之间相差多少天. 用了两种方法实现,第二种利用结构体,代码比较清晰,其余的都一样. 1.普通的写法 #include <stdio.h> int leapyear(int ...

  7. ffmpeg avpicture_fill的一些使用

    标签: ffmpegavpicture_fill 2013-05-17 10:03 4713人阅读 评论(1) 收藏 举报  分类: ffmpeg(3)  这个FFMPEG我没找到详细的中文教程,只有 ...

  8. 关于对H264码流的PS的封装的相关代码实现

    1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...

  9. 每天一个linux命令(7):rmdir命令

    版权声明更新:2017-05-11博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的rmdir命令. ...

  10. ACM学习历程—HDU5592 ZYB's Premutation(逆序数 && 树状数组 && 二分)(BestCoder Round #65 1003)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5592 题目大意就是给了每个[1, i]区间逆序对的个数,要求复原原序列. 比赛的时候2B了一发. 首先 ...