首页 > 其他分享 >实验1 类和对象(1)

实验1 类和对象(1)

时间:2022-09-28 22:22:34浏览次数:35  
标签:const cout Point 对象 show Clock int 实验

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

Point p2 = p1;
p2.show();

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

实验任务2

 

 

 

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

class Clock {
public:
  Clock(int h = 5, int m = 16, int s = 20);
  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(18, 33, 7);   
  c1.show_time();
  c1 = reset();    
  c1.show_time();
  Clock c2(c1);  
  c2.set_time(7);
  c2.show_time();
}

 实验任务3

 

 

#include <iostream>
using namespace std;
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} {
  cout << "default constructor called.\n";
}
X::~X() {
  cout << "destructor called.\n";
}
X::X(int m): data{m} {
  cout << "constructor called.\n";
}
X::X(const X& obj): data{obj.data} {
  cout << "copy constructor called.\n";
}
X::X(X&& obj) noexcept: data{obj.data} {
  cout << "move constructor called.\n";
}
void X::show() const {
 cout << data << endl;
}

int main(){
    X x1;
    x1.show();
    
    X x2{2049};
    x2.show();
    
    X x3{x1};
    x3.show();
    
    X x4{ move(x2) };
    x4.show();
    
}
实验任务4

 

标签:const,cout,Point,对象,show,Clock,int,实验
From: https://www.cnblogs.com/xrzjjy/p/16739789.html

相关文章

  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执行pi......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验1 类和对象
    1//Point类2//相较于教材,在构造函数的写法上,采用了业界更通用的初始化列表方式34#include<iostream>56usingstd::cout;7usingstd::endl;89......
  • 实验3:OpenFlow协议分析实践
    实验3:OpenFlow协议分析实践一、实验目的能够运用wireshark对OpenFlow协议数据交互过程进行抓包;能够借助包解析工具,分析与解释OpenFlow协议的数据包交互过程与机制......
  • 实验一
    实验21#include<iostream>2usingstd::cout;3usingstd::endl;4classPoint56{7public:8Point(intx0=0,inty0=......
  • JS中面向对象编程(OOP)的基本原理——this关键字、原型链、构造函数、继承
    面向对象编程(ObjectOrientedProgramming),是软件开发过程的主要方法之一。在OOP中,使用对象和类组织代码来描述事物及其功能。虽然点符号是访问对象属性的有效方法(如myobj.......
  • 实验1
    Test1#include<iostream>#include<cstring>#include<vector>usingnamespacestd;intmain(){ strings1; strings2{"cplusplus"}; strings3{s2}; strin......
  • 实验1 类和对象(1)
    #include<iostream>usingstd::cout;usingstd::endl;classPoint{public:Point(intx0=0,inty0=0);Point(constPoint&p);~Point()=default;......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......