c++实验5

Posted qiuqiuwr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++实验5相关的知识,希望对你有一定的参考价值。

Part3 简单编程练习

#include<string>
#include<iostream>
using namespace std;
class MachinePets 
public:
    MachinePets(const string s);
    virtual string talk()=0;
    string getNickname() 
        return nickname;
    
private:
    string nickname;
;

class PetCats:public MachinePets
 public:
    PetCats(const string s);
    string talk();

;

class PetDogs :public MachinePets 
public:
    PetDogs(const string s);
    string talk();
;

MachinePets::MachinePets(const string s) :nickname(s) 


PetCats::PetCats(const string s):MachinePets(s) 

string PetCats::talk()

    string a = "miao wu~";
    return a;

PetDogs::PetDogs(const string s) :MachinePets(s) 


string PetDogs::talk()

    string a = "wang wang~";
    return a;


void play(MachinePets *p)

    cout << p->getNickname() << "says" << p->talk() << endl;

int main() 
    PetCats cat("miku");
    PetDogs dog("da huang");
    play(&cat);
    play(&dog);
    system("pause");
    return 0;

技术图片

实验总结:

1.纯虚函数作用:在验证性部分,基类没有使用虚函数时,使用基类指针调用派生类成员函数,始终只有基类函数在起作用。而使用了纯虚函数之后,基类类型的指针,如果指向的是派生类的对象,那么它就可以访问这个函数,从而执行的是派生类中的函数。需要注意的是,纯虚函数是不能被调用的。

2.在有多个不同的类使用同一名称的函数时,适合用纯虚函数。

3.在编程练习部分,MachinePets(s)调用时写在函数体里不能被调用。

以上是关于c++实验5的主要内容,如果未能解决你的问题,请参考以下文章

以下代码片段 C++ 的说明

C++ 代码片段执行

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

C++ 代码片段(积累)

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]