首页 > 其他分享 >实验一 类与对象

实验一 类与对象

时间:2022-10-02 15:33:52浏览次数:43  
标签:const cout v1 对象 int 实验 include width

#include<iostream>
#include<string>
#include<vector>

int main()
{
    using namespace std;
    
    string s1;
    string s2{"c plus plus"};
    string s3{s2};
    string s4=s2;
    
    s1="oop";
    
    vector<string> v1;
    v1.push_back(s1);
    v1.push_back(s2+"1");
    v1.push_back(s3+"2");
    v1.push_back(s4+"3");
    
    cout<<"output1:"<<endl;
    for(auto item:v1)
    cout<<item<<endl;
    
    cout<<"output2:";
    for(auto p=v1.begin();p!=v1.end();++p)
    cout<<*p<<endl;
    
    cout<<"output3:"<<endl;
    for(auto i=0;i<v1.size();++i)
    cout<<v1[i]<<endl;
    
    vector<string> v2{v1.rbegin(),v1.rend()};
    
    cout<<"v2:"<<endl;
    for(auto item:v2)
    cout<<item<<endl;
}

 

#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <cstdlib>
#include <time.h>

template<typename T>
void output(const T &obj)
{
    for (auto item : obj)
        std::cout << item << " ";
    std::cout << std::endl;
}

int main()
{
    using namespace std;

    vector<int> v1{1, 9, 8, 4};
    v1.insert(v1.begin(), 2022);
    v1.insert(v1.end(), 2023);

    cout << "v1: ";
    output(v1);

    v1.pop_back();
    v1.erase(v1.begin());
    cout << "v1: ";
    output(v1);

    vector<string> v2{"《1984》", "《动物农场》","《美丽新世界》"};
    cout << "v2: ";
    output(v2);
}

 

#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(4,5);
    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(12,0,5);
        c1.show_time();
        
        c1=reset();
        c1.show_time();
        
        Clock c2(c1);
        c2.set_time(6);
        c2.show_time();
    }

 

#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}
{
    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 << "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>
using namespace std;
class Rectangle
{
public:
    Rectangle(double l = 2.0, double w = 1.0) : length(l), width(w)
    {
    }

    Rectangle(const Rectangle &rect) : length(rect.length), width(rect.width)
    {
    }

    ~Rectangle(){};

    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)
    {
        length *= times;
        width *= times;
    }

    void resize(int l_times, int w_times)
    {
        length *= l_times;
        width *= w_times;
    }

private:
    double length, 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,cout,v1,对象,int,实验,include,width
From: https://www.cnblogs.com/jyksblog/p/16748834.html

相关文章