当前位置: 首页 > wzjs >正文

重庆网站建设设计公司信息asp.net 手机网站模板

重庆网站建设设计公司信息,asp.net 手机网站模板,企业app定制,网站建设美工1>思维导图 2>试编程 要求: 封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪 再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数&a…

1>思维导图

b58af2c8998243e1a9ada8f493561479.png

903795917c134cdbb12e1dd4759da70f.png

2>试编程

要求:

封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪

再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数(整型 int count),共有成员函数:会叫:void speak()

要求:分别完成基类和派生类中的:构造函数、析构函数、拷贝构造函数、拷贝赋值函数

eg : Dog d1;

Dog d2(.....);

Dog d3(d2);

d1 = d3;

源代码:

#include <iostream>using namespace std;
//封装一个动物的基类
class Animal
{
//类中有私有成员:姓名,颜色,指针成员年纪
private:string name;string color;double *age;public://Animal无参拷贝Animal(){}//Animal有参拷贝Animal(string n,string c,double a):name(n), color(c),\age(new double(a)){}//Animal析构函数~Animal(){delete age;}//Animal拷贝构造Animal (const Animal &other):name(other.name),\color(other.color), age(new double(*other.age)){}//Animal拷贝赋值Animal &operator=(const Animal &other){if(this != &other){name = other.name;color = other.color;age = new double(*other.age);}return *this;}
};
//封装一个狗这样类,公有继承于动物类
class Dog:public Animal
{
//自己拓展的私有成员有:指针成员:腿的个数(整型 int legNum)
private:int *legNum;public://Dog无参拷贝Dog(){}//Dog有参拷贝Dog(int ln,string n,string c,double a):Animal(n,c,a),\legNum(new int(ln)){}//Dog析构函数~Dog(){delete legNum;}//Dog拷贝构造Dog (const Dog &other):Animal(other),\legNum(new int(*other.legNum)){}//Dog拷贝赋值Dog &operator=(const Dog &other){if(this != &other){legNum = new int(*other.legNum);Animal::operator=(other);}return *this;}//公有成员函数:会叫:void speak()void speak(){cout << this << ": 汪汪汪……" << endl;}
};int main()
{Dog d1;Dog d2(4,"小汪","blue",2.5);Dog d3(d2);d1 = d3;
//    d1.speak();
//    d2.speak();
//    d3.speak();return 0;
}

3>试编程

要求:

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:
比喻:动物园的讲解员和动物表演想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。
在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。
而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。
具体过程如下:
定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。

源代码:

#include <iostream>using namespace std;//定义一个基类Animal
class Animal
{
public:virtual void perform() = 0;
};//定义一个Animal的子类Lion派生类
class Lion:virtual public Animal
{
private:string introduction;public:Lion(string introduction=""):introduction(introduction){}//重写 perform()虚函数void perform() override{cout << "  介绍:芝士狮子" << introduction <<endl;cout << "  表演:狮子拜天!" << endl;}};
//定义一个Animal的子类SnowLeopard派生类
class SnowLeopard:virtual public Animal
{
private:string introduction;
public:SnowLeopard(string introduction=""):introduction(introduction){}//重写 perform()虚函数void perform() override{cout << "  介绍:芝士雪豹" << introduction <<endl;cout << "  表演:与丁真珍珠去粘合国演讲。" << endl;}
};
//定义一个Animal的子类Elephant派生类
class Elephant:virtual public Animal
{
private:string introduction;public:Elephant(string introduction=""):introduction(introduction){}//重写 perform()虚函数void perform() override{cout << "  介绍:芝士大象" << introduction <<endl;cout << "  表演:大象踢腿!" << endl;}
};int main()
{// 实例化不同的动物类Lion lion;Elephant elephant;SnowLeopard SnowLeopard;// 使用基类指针指向不同的动物对象,实现多态Animal* animal1 = &lion;Animal* animal2 = &elephant;Animal* animal3 = &SnowLeopard;// 讲解员为每种动物表演做介绍cout << "动物园讲解员开始介绍:" << endl;cout << "------------------------" << endl;cout << "狮子表演:" << endl;animal1->perform();cout << "------------------------" << endl;cout << "雪豹表演:" << endl;animal3->perform();cout << "------------------------" << endl;cout << "大象表演:" << endl;animal2->perform();cout << "------------------------" << endl;return 0;
}

效果图:


文章转载自:

http://4grdJHNz.dbLgm.cn
http://OKV6Jv9w.dbLgm.cn
http://ORgqv5wH.dbLgm.cn
http://lMXrAIiJ.dbLgm.cn
http://131MxxQS.dbLgm.cn
http://IArzAdnF.dbLgm.cn
http://ShjdYcGy.dbLgm.cn
http://exNNM8gX.dbLgm.cn
http://UMvK76zq.dbLgm.cn
http://5KWHMqNU.dbLgm.cn
http://qWcUtRBh.dbLgm.cn
http://NOfcCQuo.dbLgm.cn
http://tXPxYOfn.dbLgm.cn
http://8yYuKsda.dbLgm.cn
http://yFjqVZA8.dbLgm.cn
http://Ltx4y7EA.dbLgm.cn
http://BW1RWjFi.dbLgm.cn
http://gSFZd371.dbLgm.cn
http://WaLvNAqm.dbLgm.cn
http://gqCkHFZH.dbLgm.cn
http://Uf69EgTg.dbLgm.cn
http://7H9gYeXR.dbLgm.cn
http://3vDazljA.dbLgm.cn
http://E90piy7z.dbLgm.cn
http://oqUAfeaV.dbLgm.cn
http://sfIuCIgF.dbLgm.cn
http://uQ9o1VUk.dbLgm.cn
http://sKSo7Bqf.dbLgm.cn
http://K2IPuS7W.dbLgm.cn
http://45ccQKTs.dbLgm.cn
http://www.dtcms.com/wzjs/711113.html

相关文章:

  • wordpress模板html5郑州网站seo诊断
  • 做免费资料分享网站会不会涉及版权wordpress运营服务费用
  • 网站开发的理解php 网站cookie
  • 网站备注销全国企业管理信息系统网站
  • 祥云平台网站建设怎么收费好玩的手机网页游戏
  • 学习网站模板下载私人网站如何做竞价
  • 网络公司开发网站网络广告推广公司
  • 企业网站建设哪家优惠网站建设推荐频道
  • 郴州网站seo上海歌舞娱乐场所停业
  • 青岛房地产网站建设全方位营销型网站
  • 做网站导航栏目怎么做wordpress如何使用dplayer
  • 安康做企业网站的温州网站网络公司
  • 珠海市企业网站制作平台深圳手机网站设计公司
  • 电子商务网站建设技术有哪些方面企业融资论文
  • 上海网站建设咨询怎么做电影网站吗
  • 个人网站收款接口软件开发一般多少钱
  • iis7 多个网站 80端口上海前端
  • 仿起点小说网站开发揭阳网站制作平台
  • 哈尔滨制作网站价格成都淮州新城建设投资有限公司网站
  • 广州 环保 凡人网站建设排名点击软件
  • 网站结构怎么分析网站的建设流程具体有哪些
  • 绍兴做网站公司哪家好注册公司流程及手续
  • 网站上传小马后怎么做spring做网站
  • 免费网站建设方案免费模板网站建设
  • 口岸地区网站建设内容福建中国建设工程造价管理协会网站
  • 能被百度收录的建站网站做悬赏的网站
  • 哈尔滨网站建设2017海报设计分析
  • 江西求做网站宁波三盛网络网站建设
  • wordpress多个网站asp.net网站开发工程师(c
  • 织梦技校招生网网站模板整站源码山东企业建站软件