码迷,mamicode.com
首页 > 其他好文 > 详细

类和对象

时间:2018-04-09 00:27:46      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:实例   mes   内联   变量   相关   一个   nbsp   重载   函数调用   

四.实验结论

1.验证性实验部分

类:在面向对象程序设计中,程序模块是由类构成的。类是对逻辑上相关的函数与数据的封装。

对象:当定义了一个类之后,便可以定义该类的变量,这个变量就称为类的对象(或实例),这个定义的过程也称为类的实例化。

构造函数:构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。构造函数在对象被创建的时候将会被自动调用。

复制构造函数:  复制构造函数是一种特殊的构造函数,具有一般构造函数的所有特征,其形参是本类的对象的引用。其作用是使用一个已经存在的对象(由复制构造函数的参数指定),去初始化同类的一个新对象。

析构函数:析构函数与构造函数的作用几乎正好相反,它用来完成对象被删除前的些清理工作,也就是专门做扫尾工作的。析构函数是在对象的生存期即将结束的时刻被自动调用的。它的调用完成之后,对象也就消失了,相应的内存空间也被释放。

2.编程实验部分

(1)习题4-11

#include <iostream>
using namespace std; 
class rec
{
    public:
        void setsize(int newL=0,int newW=0);
        void showarea();
    private:
        int len,wide;
};
void rec::setsize(int newL,int newW)
{
    len=newL;
    wide=newW;
}
inline void rec::showarea()
{
    cout<<len*wide<<endl;
}

int main()
{
    rec myrec;
    myrec.setsize(3,2);
    myrec.showarea();
    return 0;
}

技术分享图片

(2)习题4-20

#include <iostream>
using namespace std; 
class Complex
{
    public:
        Complex(float r1,float i1);
        Complex(float r2);
        void add(Complex &c);
        void show();
    private:
        float r,i;
        
};
Complex::Complex(float r1,float i1)
{
    r=r1;
    i=i1;
}
Complex::Complex(float r2)
{
    r=r2;
}
void Complex::add(Complex &c)
{
    r+=c.r;
    i+=c.i;
}
void Complex::show()
{
    if(i>0)
        cout<<r<<+<<i<<i;
    if(i=0)
        cout<<r;
    if(i<0)
        cout<<r<<-<<i<<i;
    
}
int main()
{
    Complex c1(3,5);
    Complex c2=4.5;
    c1.add(c2);
    c1.show();
    return 0;
}

技术分享图片

 

五、实验总结与体会

 用内联函数可以节省函数调用时的时间开销。

当需要多次使用同功能的函数时,函数重载可以使得函数命名变得简单。

 

类和对象

标签:实例   mes   内联   变量   相关   一个   nbsp   重载   函数调用   

原文地址:https://www.cnblogs.com/MINT510845604/p/8709477.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!