首页 > 其他分享 >实验一

实验一

时间:2022-09-29 16:36:27浏览次数:48  
标签:const int double width 实验 lenth Rectangle

#include <iostream>
using std::cout;
using std::endl;

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(5, 6); 
    p1.show();
    Point p2 = p1;
    p2.show();
    
    Point p3(p2);
    p3.show();
    cout << p3.get_x() << endl;
}

#include <iostream>
#include <iomanip>

using std::cout;
using std::endl;

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(11, 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>

class Rectangle
{
public:
    Rectangle();
    Rectangle(int l, int w);
    Rectangle(const Rectangle &x);
 
    double len();
    double wide();
    double area();
    double circumference();
    void resize(double times);
    void resize(double l_times, double l_);
 
    ~Rectangle() = default;
 
private:
    double lenth, width;
};
 
Rectangle::Rectangle()
{
    lenth = 2.0;
    width = 1.0;
}
Rectangle::Rectangle(int l, int w)
{
    lenth = l;
    width = w;
}
Rectangle::Rectangle(const Rectangle &x)
{
    lenth = x.lenth;
    width = x.width;
}
double Rectangle::len()
{
    return lenth;
}
 
double Rectangle::wide()
{
    return width;
}
double Rectangle::area()
{
    return lenth*width;
}
double Rectangle::circumference()
{
    return (lenth + width) * 2;
}
void Rectangle::resize(double times)
{
    lenth *= times;
    width *= times;
}
void Rectangle::resize(double l_times, double w_times)
{
    lenth *= l_times;
    width *= w_times;
}

void output(const Rectangle &rect) {
    using namespace std;
    cout << "矩形信息: \n";
    cout << fixed << setprecision(2);
    Rectangle a = rect;
    cout << "长:    " << left << a.len() << endl;
    cout << "宽:    " << left << a.wide() << endl;
    cout << "面积:  " << left << a.area() << endl;
    cout << "周长:  " << left << a.circumference() << endl;
    cout << endl;
}
int main()
{
    Rectangle rect1;
    output(rect1);
 
    Rectangle rect2(15, 5);
    output(rect2);
 
    Rectangle rect3(rect1);
    rect3.resize(3);
    output(rect3);
 
    rect3.resize(10, 2);
    output(rect3);
    system("pause");
}

 

标签:const,int,double,width,实验,lenth,Rectangle
From: https://www.cnblogs.com/wyh-205113/p/16742007.html

相关文章

  • 实验2
    #include<iostream>usingstd::cout;usingstd::endl;classPoint{public:Point(intx0=0,inty0=0);Point(constPoint&p);~Point()=de......
  • 实验二
    实验报告基础要求提交a) /home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;  b) /home/用户名/学号/lab2/目录下开启M......
  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执行pi......
  • 第四章实验
    实例一importdatetimemot=["今天星期一:\n坚持下去,因为我别无选择","今天星期二;\n含泪播种的人一定能笑着收获;","今天星期三;\n做对的事情比事情做对......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pyth......
  • 24届实验班周测一听课笔记
    问题1,一元三次怎么十字相乘考研概念性的题f[g(x)]有偶则偶,奇奇复奇奇概念题不要证明,举反例有不确定,读完题选可能对的,拿特例推翻选项看清ln和lg......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验2:Open vSwitch虚拟交换机实践
    1.基础要求:/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令p0和p1连通性测试的执行结果截图;/home/用户名/学号/lab2/目录下开启MininetCLI并执行pingall命令......
  • 实验2:Open vSwitch虚拟交换机实践
    一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的O......