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

实验1 类和对象(1)

时间:2022-10-04 23:35:24浏览次数:41  
标签:const width 对象 Clock int length 实验 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(4, 5);
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(12, 0, 5); 
c1.show_time();
c1 = reset(); 
c1.show_time();
Clock c2(c1); 
c2.set_time(6);
c2.show_time();
}

 

#include <iostream>
#include <iomanip>
class Rectangle{
    public:
        Rectangle():length(2.0),width(1.0){}
        Rectangle(double l,double w):length(l),width(w){}
        Rectangle(const Rectangle &R);
        ~Rectangle()=default;
         double len() const{
            return length;
        }
         double wide() const{
            return width;
        }
         double area() const{
            return width*length;
        }
         double circumference() const{
            return 2*(length+width);
        }
        void resize(int times){
            length*=times;
            width*=times;
        }
        void resize(int l_times,int w_times){
            length*=l_times;
            width*=w_times;
        }
        private:
            double length,width;
};
Rectangle::Rectangle(const Rectangle &R){
    length=R.length;
    width=R.width;
}
void output(const Rectangle &rect) {
using namespace std;
cout << "矩形信息: \n";
cout << fixed << setprecision(2);
cout <<"长:     "<<rect.len()<<endl;
cout <<"宽:     "<<rect.wide()<<endl;
cout <<"面积:   "<<rect.area()<<endl;
cout <<"周长:   "<<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,width,对象,Clock,int,length,实验,Rectangle
From: https://www.cnblogs.com/fyh2021/p/16754819.html

相关文章

  • SV学习(5)——类和对象、类的成员
    SV学习(5)——类和对象、类的成员1.类和对象概述2.声明类并创建对象3.赋值和拷贝,深拷贝浅拷贝4.对象的销毁5.句柄的使用6.静态变量7.静态方法8.验证为什么......
  • 12.设计模式-适配器模式-对象适配器
    //1.定义目标被适配类//2.定义适配器接口,期望输出//3.实现适配器接口,被适配对象,通过set/构造方法注入进行组合//4.测试/**被适配类,输出的是220V*/publicclassVo......
  • 第五章.内置对象
    一、Date日期对象//获取时间方法一://获取日期对象lettimeS=newDate();console.log(timeS);//打印出来的时间是SatSep03202208:53:48GMT+0800(中国标准时间) ......
  • 实验4:开源控制器实践——OpenDaylight
    一、实验目的1.能够独立完成OpenDaylight控制器的安装配置;2.能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境Ubuntu20.04Desktopamd64三、实......
  • 计算机组成原理实验1
    莎比机组,单片机不是不学了吗计算机系统基础实验一1.1实验概述实验目的:更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。实验目标:加深对数据二进制编码表示......
  • 实验一
    tastk1-1#include<iostream>#include<string>#include<vector>intmain(){usingnamespacestd;strings1;strings2{"cplusplus"};strings3{s2}; str......
  • 反弹Shell小实验
    反弹Shell实验环境攻击机:kali(IP:192.168.40.132)目标机:CentOS(IP:192.168.40.135)实验步骤首先在攻击机监听一个随机端口:nc-lvp6767第二步在目标机输入命令:bash......
  • python中类与对象的命名空间(静态属性的陷阱)、__dict__ 和 dir() 在继承中使用说明
    1.面向对象的概念1)类是一类抽象的事物,对象是一个具体的事物;用类创建对象的过程,称为实例化。2)类就是一个模子,只知道在这个模子里有什么属性、什么方法,但是不知道......
  • 面向对象
    一、理解面向对象(一)理解面向对象的举例为了方便了解,拿面向过程做一个对比面向过程:去超市--买菜--买肉--买米--回家--洗菜--切肉--炒菜--煮米饭--盛饭--开吃面向对......
  • 实验4:开源控制器实践——OpenDaylight
    一、基本要求1、Mininet拓扑生成并连接控制器的结果2、Mininet中ping测试截图二、进阶要求1、ODL提供的文档链接:http://127.0.0.1:8181/apidoc/explorer/index.html......