首页 > 其他分享 >实验一

实验一

时间:2022-09-30 12:44:27浏览次数:37  
标签:const int times width length 实验 Rectangle

任务二

#include<iostream>
using namespace std;
class point{
public:
    point(int x0=0,int y0=0);
    point(const point&p);
    ~point()=default;

    int get_x() const { return x;}
    int get_y() const { return y;}
    void show() const;

private:
    int x,y;
};
point::point(int x0,int y0):x{x0},y{y0} { cout<<"constructor called."<<endl;}
point::point(const point& p): x{p.x}, y{p.y} { cout << "copy constructor called."<<endl;}
void point::show() const {cout <<"("<<x<<", "<<y<<")"<<endl;}

int main() {
point p1(4,5); 
p1.show();
point p2 = p1; 
p2.show();
point p3{p2}; 
p3.show();
cout << p3.get_x() << endl;
}

任务三

#include <iostream>
#include <iomanip>
using namespace std;
class Clock {
public:
  Clock(int h = 0, int m = 0, int s = 0);
  Clock(const Clock& t);
  ~Clock() = default;
void set_time(int h, int m = 0, int s = 0);
void show_time() const;
private:
  int hour, minute, second;
};

Clock::Clock(int h, int m, int s): hour{h}, minute{m}, second{s} { cout << "constructor called" << endl;}
Clock::Clock(const Clock& t): hour{t.hour}, minute{t.minute},second{t.second} {
cout << "copy constructor called" << endl;}
void Clock::set_time(int h, int m, int s) { hour = h;minute = m;second = s;}
void Clock::show_time() const { using std::setw; using std::setfill;
cout << setfill('0') << setw(2) << hour << ":"<< setw(2) << minute << ":"<< setw(2) << second << endl;}

Clock reset() { return Clock(0, 0, 0);}
int main()
{
Clock c1(12, 0, 5); 
c1.show_time();
c1 = reset(); 
c1.show_time();
Clock c2(c1); 
c2.set_time(6);
c2.show_time();
}

任务四

#include <iostream>
class X{
public:
  X(); 
  ~X(); 
  X(int m); 
  X(const X& obj); 
  X(X&& obj) noexcept; 
void show() const; 
private:
  int data;
};
X::X(): data{42} { std::cout << "default constructor called.\n";}
X::~X() { std::cout << "destructor called.\n";}
X::X(int m): data{m} { std::cout << "constructor called.\n";}
X::X(const X& obj): data{obj.data} { std::cout << "copy constructor called.\n";}
X::X(X&& obj) noexcept: data{obj.data} { std::cout << "move constructor called.\n";}
void X::show() const { std::cout << data << std::endl;}
int main() {
X x1; 
x1.show();
X x2{2049};
x2.show(); 
X x3{x1}; 
x3.show();
X x4{ std::move(x2) };
x4.show();
}

任务五

#include <iostream>
#include <iomanip>
using namespace std;
class Rectangle {
public:
    Rectangle(double length = 2.0, double width = 1.0);
    Rectangle(const Rectangle& rect);
    ~Rectangle()=default;
    double len() const { return length; }
    double wid() const { return width; }
    double area() const { return length*width; }
    double circumference() const { return(width + length) * 2; }
    void resize(int times);
    void resize(int l_times,int w_times);
private:
    double length, width;

};
Rectangle::Rectangle(double l, double w) :length(l), width(w) {}
Rectangle::Rectangle(const Rectangle& r) :length(r.length), width(r.width) {}
void Rectangle::resize(int times) { length *= times; width *= times; }
void Rectangle::resize(int l_times,int w_times) { length *=l_times; width *= w_times; }


void output(const Rectangle &rect)
{
    cout << "矩形信息: \n";
    cout<<"长:  "<<fixed<<setprecision(2)<<rect.len()<<endl;
    cout<<"宽:  "<<fixed<<setprecision(2)<<rect.wid()<<endl;
    cout<<"面积: "<<fixed<<setprecision(2)<<rect.area()<<endl;
    cout<<"周长:"<<fixed<<setprecision(2)<<rect.circumference()<<endl;
}

int main() {
Rectangle rect1;
output(rect1);
Rectangle rect2(10, 5);
output(rect2);
Rectangle rect3(rect1);
rect3.resize(2);
output(rect3);
rect3.resize(5, 2);
output(rect3);
}

 

标签:const,int,times,width,length,实验,Rectangle
From: https://www.cnblogs.com/dgfhdrth/p/16744560.html

相关文章

  • 实验一 类和对象
    实验任务二:#include<bits/stdc++.h>usingnamespacestd;classPoint{public:Point(intx0=0,inty0=0);Point(constPoint&p);~P......
  • 实验1 类和对象(1)
    #include<iostream>#include<string>#include<vector>intmain(){usingnamespacestd;strings1;strings2{"cplusplus"};strings3{s2......
  • 《MiniPRO H750开发指南》第三十八章 红外遥控实验
    第三十八章红外遥控实验​本章,我们将介绍STM32对红外遥控器的信号解码。STM32板子上标配的红外接收头和一个小巧的红外遥控器。我们将利用STM32的输入捕获功能,解码开发板标......
  • 实验1
    实验1#include<iostream>#include<string>#include<vector>intmain(){usingnamespacestd;strings1;strings2{"cplusplus"};strings3{s2......
  • 实验一:类和对象
     task21#include<iostream>2usingstd::cout;3usingstd::endl;45classPoint{6public:7Point(intx0=0,inty0=0);//构......
  • Python实验报告——第4章 序列的应用
    实验报告实例01:输出每日一贴代码如下:importdatetime#导入日期时间类#定义一个时间表mot=['今天星期一:\n坚持下去不是因为我很强,而是因为我别无选择。',......
  • Python第四章实验
    importdatetime#导入日期时间类#定义一个列表mot=["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择。","今天星期二:\n含泪播种......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验一
    #include<iostream>#include<string>#include<vector>intmain(){usingnamespacestd;strings1;strings2{"cplusplus"};strings3{s2......
  • 实验一 类和对象(1)
    任务二源代码:1//task2.cpp23#include<iostream>4usingstd::cout;5usingstd::endl;67//定义Point类8classPoint9{10public:11......