首页 > 其他分享 >实验一

实验一

时间:2022-10-02 23:44:41浏览次数:47  
标签:const int void times width length 实验

#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(6,7);
p1.show();

point p2=p1;
p2.show();

point p3{p2};
p3.show();
cout << p3.get_x()<<endl;

return 0;

}

 

 

 

三::::

 

#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,4);
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(double l=2.00,double w=1.00):length{l },width{w} {};
rectangle(const rectangle& obj):length{obj.length},width{obj.width}{};
~rectangle()=default;
double len() const{return length;}
double wide()const{return width;}
double area()const{return length*width;}
double circumference() const{return (length+width)*2;}
void resize (int times);
void resize (int l_times,int w_times);
private:
double length,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)
{ using namespace std;
cout << "矩形信息: \n";
cout << fixed << setprecision(2);
cout<<std::left<<setw(8)<<"长:"<<rect.len()<<endl;
cout<<std::left<<setw(8)<<"宽:" <<rect.wide()<<endl;
cout<<std::left<<setw(8)<<"面积:" <<rect.area()<<endl;
cout<<std::left<<setw(8)<< "周长:"<<rect.circumference()<<endl;
cout<<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,void,times,width,length,实验
From: https://www.cnblogs.com/dailu666666/p/16749778.html

相关文章

  • 实验4:开源控制器实践——OpenDaylight
    一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境Ubuntu20.04Desktopamd64三、实验......
  • 实验一之5
    #include<iostream>#include<iomanip>classrectangle{public:rectangle(doublel=2.00,doublew=1.00):length{l},width{w}{};rectangle(constrectangle&obj......
  • 实验二之3
    #include<iostream>#include<iomanip>usingstd::cout;usingstd::endl;classClock{public:Clock(inth=0,intm=0,ints=0);Clock(constClock&t)......
  • 实验一之4
    #include<iostream>classX{public:X();~X();X(intm);X(constX&obj);X(X&&obj)noexcept;voidshow()const;private:intdata;};X::X():data{42}{s......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代码......
  • 实验4:开源控制器实践——OpenDaylight
    目录一、实验目的1.能够独立完成OpenDaylight控制器的安装配置;2.能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境Ubuntu20.04Desktopamd64三、实验......
  • 实验2:Open vSwitch虚拟交换机实践
    实验基础要求:a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执......
  • 实验4:开源控制器实践——OpenDaylight
    基本要求Mininet拓扑生成并连接控制器的结果、Mininet中ping测试截图通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。进阶......
  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型均......
  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求1.ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型......