类和对象

Posted mint510845604

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类和对象相关的知识,希望对你有一定的参考价值。

四.实验结论

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;
}

技术分享图片

 

五、实验总结与体会

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

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

 

以上是关于类和对象的主要内容,如果未能解决你的问题,请参考以下文章

使用CSS伪类和伪对象实现dl;dt+dd在一行显示

JAVA方法的定义

10方法的定义和重载和递归

JavaSE:类和对象

如何从片段内的列表视图打开链接网址?

VSCode自定义代码片段12——JavaScript的Promise对象