首页 > 编程语言 >2022.4.22编程一小时打卡

2022.4.22编程一小时打卡

时间:2023-04-22 21:13:33浏览次数:51  
标签:count 函数 22 void Counter public 打卡 include 2022.4

一、问题描述:

请编写一个计数器Counter类,对其重载运算符“+”。

二、解题思路: 首先编写一个Counter类,然后,进行编写运算符“+”的重载,最后,进行代码的运行编译进行验证。

三、代码实现:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class Counter
 5 {
 6 private:
 7     int count;
 8 public:
 9     Counter(){}
10     Counter(int c):count(c){}
11     Counter operator+(Counter &);
12     void display();
13 };
14 Counter Counter::operator+(Counter &c)
15 {
16     Counter a;
17     a.count=count+c.count;
18     return a;
19 }
20 void Counter::display()
21 {
22     cout<<count<<endl;
23 }
24 int main()
25 {
26     Counter a(5),b(6),c;
27     c=a+b;
28     cout<<"c=a+b=";
29     c.display();
30     return 0;
31 }

一、问题描述:

编写一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都声明 speak()成员函数,该函数在基类中被声明为虚函数,声明一个Dog类的对象,通过此对象调用speak函数,观察运行结果。

二、解题思路:

 首先,编写基类Mammal类,在定义子类Dog,在基类中定义一个虚函数speak(),在子类中重新定义,最后在主函数中用子类的对象进行代码的运行调试。

三、代码实现:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class Mammal
 5 {
 6 public:
 7     virtual void speak();
 8 };
 9 void Mammal::speak()
10 {
11     cout<<"Mammal"<<endl;
12 }
13 class Dog:public Mammal
14 {
15 public:
16     void speak();
17 };
18 void Dog::speak()
19 {
20     cout<<"Dog"<<endl;
21 }
22 int main()
23 {
24     Dog d;
25     d.speak();
26     return 0;
27 }

一、问题描述:

请编写一个抽象类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数getArea()、计算对象周长的函数getPerim()。

二、解题思路:

 首先,定义基类Shape为抽象类,在定义其俩个子类Rectangle和Circle,最后,用基类的指针去调用俩个子类的函数进行代码的运行调试。

三、代码实现:

 

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class Shape
 5 {
 6 private:
 7     double width,height;
 8 public:
 9     virtual void getArea()=0;
10     virtual void getPerim()=0;
11 };
12 class Rectangle:public Shape
13 {
14 private:
15     double width,height;
16 public:
17     Rectangle(double a,double b):width(a),height(b){}
18     void getArea();
19     void getPerim();
20 };
21 void Rectangle::getArea()
22 {
23     cout<<width*height<<endl;
24 }
25 void Rectangle::getPerim()
26 {
27     cout<<2*(width+height)<<endl;
28 }
29 class Circle:public Shape
30 {
31 private:
32     double r;
33 public:
34     Circle(double a):r(a){}
35     void getArea();
36     void getPerim();
37 };
38 void Circle::getArea()
39 {
40     cout<<3.1415*r*r<<endl;
41 }
42 void Circle::getPerim()
43 {
44     cout<<3.1415*2*r<<endl;
45 }
46 int main()
47 {
48     Shape *p;
49     Rectangle c(3,4);
50     Circle r(3);
51     p=&c;
52     p->getArea();
53     p->getPerim();
54     p=&r;
55     p->getArea();
56     p->getPerim();
57     return 0;
58 }

标签:count,函数,22,void,Counter,public,打卡,include,2022.4
From: https://www.cnblogs.com/lixinyao20223933/p/17343946.html

相关文章

  • 每日总结2023/4/22
    今天对图形界面做了优化,增加了切换账号,点击选择时间        ......
  • c++打卡训练(14)
    三色球问题:一共十二个球,红色白色都是三个,黑色有六个,摸出八个球,问有几种可能?流程图:伪代码:源代码:#include<stdio.h>intmain(){ intred,white,black; for(red=0;red<=3;red++){ for(white=0;white<=3;white++){ black=8-red-white; if(black<=6){ printf("红色:%d,......
  • 每天打卡一小时 第十三天 编译四部曲
     第一部曲自然语言创建递归函数创建循环调用函数第二部曲流程图 第三部曲代码#include<iostream>#include<cstdio>#include<cstdlib>usingnamespacestd;intfeibo(intn)//斐波那契数列算法{if(n==1||n==2){return1;}......
  • 4.22趣味百题
    一问题描述 一辆固定车速的汽车,司机在上午10点看到里程表是一个对称数95859即从左往右和从右往左读一样两小时后看到里程表上出现一个新的对称数仍为对称数问该车的速度是多少新的对称数是多少?二设计思路两小时后的里程数一定大于95859但为五位数一定小于100000可以用......
  • 【CMU15-445 FALL 2022】Project #0 - C++ Primer
    关于参考&鸣谢课程官网CMU15445vscode/clionclang12cmake环境配置C++调试窗口显示“forstringvariable【CMU15-445数据库】bustubProject#0:Trie树实现(C++Primer)2022CMU15-445学习群——152391370前言按照课程要求,本文并不会给出实现代码,可以当做是我遇到问题的总......
  • 天天打卡一小时第七天
    1.问题描述实验2-24.25-输出层数的倒金字塔编写一段程序,像下面这样显示输入整数层的向下的金字塔形状。第i行显示i%10的结果。-----出自【明解C语言】练习4-25.让我们来画一个向下的金字塔。金字塔有几层:3111112223输入样例:在这里给出一组输入。例如:3输出样例:......
  • 打卡 c语言趣味编程
     1.百钱百鸡#include <stdio.h>int main(){ int cock, hen, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { for (chicken = 0; chicken <= 100; chicken++) { if ((5 * cock + 3 * hen + chic......
  • 打卡2 c语言趣味编程
    3.抓逃犯#include <stdio.h>#include <math.h>int main(){ int a=0, b=0; //a:前两位,b:后两位 for (a = 0; a < 9; a++) { for (b = 0; b < 9; b++) { int c = a * 1000 + a * 100 + b * 10 + b; if (a != b &&sqrt(c)==(int)sqrt(......
  • 【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合
    本章目录前言第一步:下载6.0压缩包第二步:解压并安装第三步:启动环境变量第四步:遇到的问题第五步:./configure编译结束第六步:验证安装是否可以正常运行?第七步:验证IDE总结:写在后面的话前言本篇文章记录了22.04版本Ubuntu安装OMNET++6.0版本及各类报错合集解决方案,途中遇到了无数问题,很......
  • 2023 4 22
     ......