首页 > 其他分享 >实验一面向对象

实验一面向对象

时间:2022-09-30 13:11:50浏览次数:48  
标签:const cout show int Clock 面向对象 实验 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(114,514);
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(6,6 ,6 );
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{6666};
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,cout,show,int,Clock,面向对象,实验,Rectangle
From: https://www.cnblogs.com/xyb030729/p/16744593.html

相关文章

  • 实验一
    任务二#include<iostream>usingnamespacestd;classpoint{public:point(intx0=0,inty0=0);point(constpoint&p);~point()=default;intget......
  • 实验一 类和对象
    实验任务二:#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......