C++语言程序设计项目八

一、实验目的

l 1、掌握用重载运算符的方法

l 2、理解并掌握利用虚函数实现动态多态性和编写通用程序的方法

3、理解虚函数的使用方法

二、准备内容

1、实验课前需预习实验内容,并做好实验设计。

2、复习视频及课上所讲授的C++中多态性的C++基本知识

三、实验内容

设计并完成项目八:慕课网站上第八周的编程作业。

四、实验步骤

(一)编程代码

1.

#include<iostream>       //头文件

using namespace std;    //指定名字空间

class Pet          //定义派生类Pet

{

public:     //公有基类

Pet()     

{}

~Pet()

{}

virtual void Speak()

{

cout << "How does a pet speak?" << endl; //输出How does a pet speak?

}

private:    //私有基类

};

class Cat:      //派生类;猫类

public Pet

{

public: Cat()

{}

~Cat()

{}

virtual void Speak()

{

cout << "miao!miao!" << endl;    //输出miao!miao!

}

private:

};

class Dog:       //派生类;狗类

public Pet

{

public: Dog()

{}

~Dog()

{}

virtual void Speak()

{

cout << "wang!wang!" << endl;    //输出wang!wang!

}

private:

};

int main()      //主函数

{

Pet pet1;

Dog dog1;

Cat cat1;

Pet *point;  //基类对象指针point

point = &pet1; //用pet类对象地址给基类指针赋值

point->Speak(); //通过基类指针point调用成员函数Speak()

point = &cat1; //用cat类对象地址给基类指针赋值

point->Speak(); //通过基类指针point调用成员函数Speak()

point = &dog1; //用dog类对象地址给基类指针赋值

point->Speak(); //通过基类指针point调用成员函数Speak()

system("pause"); //暂停

return 0;

}

2.

#include <iostream>     //头文件

#include <string.h>     //头文件

using namespace std;    //指定名字空间

class Pet         //定义派生类Pet

{

protected:          //保护基类

char Name[10]; //定义一个大小为10的字符型数组Name

int Age;      //声明整型变量Age

char Color[10];  //定义一个大小为10的字符型数组Color

public:         //公有基类

Pet(char name[],int age,char color[])   //声明三个形参

{

this->Age = age;       //通过this指针调用Age

strcpy(this->Color , color); //用strcpy( , )函数实现一个形参字符数组给成员变量颜色赋值

strcpy(this->Name, name); //用strcpy( , )函数实现另一个形参字符数组给成员变量姓名赋值

}

~Pet()

{}

virtual void Speak() = 0;

virtual void GetInfo() = 0;  //纯虚函数声明

};

class Cat:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值