首页 > 编程语言 >4/17c++练习打卡

4/17c++练习打卡

时间:2023-04-17 21:56:56浏览次数:62  
标签:const 17 int res Counter c++ num operator 打卡

#include<iostream>
using namespace std;

class Counter {
    friend Counter& operator +(const Counter& a, const Counter& b);
    int num;
public:
    Counter() { num = 0; }
    Counter(int num_) :num(num_){}
    
    //Counter operator +(const Counter& a)
    //{
    //    Counter res;
    //    res.num = num += a.num;
    //    return res;
    //}

    int display()
    {
        return num;
    }
};

Counter& operator +(const Counter& a,const Counter& b)
{
    Counter* res = new Counter;
    res->num = a.num + b.num;
    return *res;
}

void test()
{
    Counter a(5);
    Counter b(4);

    Counter c = a + b;
    Counter d = c + a + b;
    cout << "c的值是:" << c.display() << "      d的值是:" << d.display() << endl;

}

int main()
{
    test();
    return 0;
}
 
8-5
class Mammal {
public:
    virtual void speak()
    {
        cout << "哺乳动物说话。。。" << endl;
    }
};

class Dog :public Mammal {
public:
    void speak()
    {
        cout << "狗狗说话。。。" << endl;
    }
};

int main()
{
    Dog a;
    a.speak();
    return 0;
}
 
8-6
class Shape {
public:
    virtual double getarea()
    {
        return 0;
    }
    virtual double getperim() {
        return 0;
    }
};

class Rectangle :public Shape {
public:
    Rectangle(double c, double d) :a(c), b(d) {}
    double getarea()
    {
        return a * b;
    }
    double getperim() {
        return 2 * (a + b);
    }

private:
    double a;
    double b;
};

class Circle :public Shape {
public:
    Circle(double a) :r(a) {}
    double getarea()
    {
        return 3.14 * r * r;
    }
    double getperim() {
        return 2 * 3.14 * r;
    }
private:
    double r;
};

void test02() {
    Rectangle a1(5, 4);
    Circle a2(5);

    cout << a1.getarea() << endl;
    cout << a2.getarea() << endl;
    cout << a1.getperim() << endl;
    cout << a2.getperim() << endl;
}

int main()
{
    test02();
    return 0;
}
8-7
class Point {
    friend void test();
    double x;
    double y;
public:
    Point(){}
    Point(double a, double b) :x(a), y(b) {}

    Point& operator ++ () {
        x++;
        y++;
        return *this;
    }

    Point operator ++(int) {
        Point tmp;
        tmp.x = x;
        tmp.y = y;
        x++;
        y++;
        return tmp;
    }
};

void test()
{
    Point a(5, 6);
    ++(++a);
    cout << a.x << "," << a.y << endl;
    cout << (a++).x << endl;
    cout << a.x << endl;
}

int main()
{
    test();
    return 0;
}
 

 

标签:const,17,int,res,Counter,c++,num,operator,打卡
From: https://www.cnblogs.com/wlxdaydayup/p/17327650.html

相关文章

  • 4.17每日总结
    昨天完成了图像识别的初步筛选。今天将完成所有筛选,并且将微信截图与小票分别开,并且显示店铺。难点小票识别检测出店铺。 下面/*importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.IOException;importjava.i......
  • 2023 4 17
    1#include<iostream>2#include<math.h>3usingnamespacestd;4voidprint(ints[]);5intjudge(intc[]);6intj=0;7intmain(){8intsweet[10]={10,2,8,22,16,4,10,6,14,20};9inti,t[10],l;10cout<<"child......
  • 2023.4.17软工日报
    今天上午写代码,下午上建民的课。我们进行了小组讨论。晚上完善了建民说的科技政策。按发布时间排序,还有名称省略。 鼠标放上去,可以查看全名字。 点击可以查看整个政策信息。 ......
  • 20230417小记
    感觉每天开一个还是太麻烦了()应该会合并一下。20230417闲话感觉有点找到状态了,虽然在某些时候会被打回原形。早上同桌换衣服了在操场上走了半圈没认出来。明天争取跑两圈()。什么时候能跑三圈啊(思索)想和同学打球了。感觉羽毛球太有意思了。就是说很喜欢一起的友好的感觉。菜也......
  • 2023.4.17编程一小时打卡
    一、问题描述:设计一款电子钟类,用于显示时、分、秒。实验要求:含有形参有默认值的默认构造函数;重载前缀++和后缀—用于调整时间,每次调整均对秒进行调整,若秒满60,则分加1,若分满60则时加1,时满24,则清零重新开始;重载插入运算符>>用于输入(设定)时间;重载插入运算符<<用于输出......
  • 打卡 pta c++ 汽车收费
    现在要开发一个系统,管理对多种汽车的收费工作。给出下面的一个基类框架classVehicle{protected:stringNO;public:Vehicle(stringn){NO=n;}virtualintfee()=0;//计算应收费用};以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为:载客数*8+重量*2......
  • 面试题4-17
    操作系统的中断和异常有什么区别?中断是外部事件触发的,硬件设备发出的异步信号,用于向操作系统请求服务。中断事件发生时,会停止当前程序的运行,而转向中断处理程序的执行。在中断处理程序执行完成之后再回到原来的进程执行。异常是cpu执行指令的时候遇到的错误和意外情况,是cpu内......
  • C++课本第三章课后习题 3-8
    编写函数将华氏度转化为摄氏度#include<iostream>usingnamespacestd;doublefun(doublex){return5.0*(x-32)/9;}intmain(){doublea;cin>>a;cout<<fun(a)<<endl;}编写一个函数判别一个数,是不是质数,在主程序完成输入输出。#include<iostre......
  • c/c++零基础坐牢第三天
    c/c++从入门到入土(3)开始时间2023-04-17 19:07:20结束时间2023-04-17 20:53:40前言:经过三天的算法训练,大家肯定对后面的编程知识产生浓厚的兴趣,有了前两章的知识铺垫,我们今天来学习一下如何从键盘输入和屏幕输出!以下是自制思维导图参考于苏小红C语言程序设计(第四版): 作业三......
  • C++重载的奥义之运算符重载
    0、引言        重载,顾名思义从字面上理解就是重复装载,打一个不恰当的比方,你可以用一个篮子装蔬菜,也可以装水果或者其它,使用的是同一个篮子,但是可以用篮子重复装载的东西不一样。        正如在之前的文章《重载的奥义之函数重载》中介绍的类似,函数的重载是指利......