C++的特殊计算器设计与实现+源代码(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C++的特殊计算器设计与实现+源代码(2)

Visual C++ 6。0是Microsoft公司在1998年推出的基于Windows 9X和Windows NT的集成开发环境。该环境具有良好的可视化编程环境,通过该开发环境可以轻松的访问C++源代码编辑器,并可以创建项目文件。Visual C++ 6。0包括编译器和许多有用组件,通过这些组件,可以在Visual C++ 6。0集成环境中轻松的完成创建源文件、编辑资源和对程序的编译、连接和调试等各项工作。

2。2 运算符重载技术论文网

2。2。1运算符重载含义及方法

所谓重载(overloading),就是重新赋予新的含义。

运算符也可以重载。用户根据自己的需要对C++已提供的运算符进行重载,赋予他们新的含义,使之可以一名多用。例如,能否用“+”号进行两个复数的相加。若有c1=(1+2i), c2=(3-4i),在数学中可以直接用“+”号实现c3=c1+c2,即将c1和c2的实部和虚部分别相加,c3=(1+3,(2-4)i)=(4,-2i)。但在C++中,在程序中直接用运算符“+”对复数进行相加运算,是不可以的。用户必须自己通过运用运算符重载的方法来实现复数相加。

运算符重载,就是定义一个重载运算符的函数,在需要使用该运算符时,系统就自动的调用该重载函数,以实现相应的运算。换句话说,就是通过定义函数来实现运算符重载的。运算符重载实质上是函数的重载。 

    重载运算符的函数一般格式如下:

返回函数的类型 operator 运算符名称(形参列表)

{对运算符的重载}

例如,用于复数类(complex)的相加运算,使用运算符“+”,函数的原型可以是这样的:

Complex operator + (Complex & c1,Complex & c2);

2。2。2 重载运算符的规则

C++不允许用户重新定义新的运算符,只能对已经存在的C++运算符进行重载。

C++中大部分的运算符可以重载,但是不可以重载的运算符有[2]:

。           (成员访问运算符)

。*          (成员指针访问运算符)

      ::         (域运算符)

      sizeof       (长度运算符)

      ?:        (条件运算符)

重载不能改变操作数的个数。

重载运算符的函数不能带有默认参数。

2。3 友元函数

在一个类中可以有public(公用的)成员和private(私有的)成员,在类外可以访问公用成员,只有在类中的函数才能访问本类中的私有成员,那么现在面临的问题就是,如何在类外访问一个类中的私有成员。C++提供的方法是:友元(friend)。

Friend意思是朋友或者好友,可以类比的是,只有当一个人成为了你的好友时,你才愿意将你的私有的部分展示给他。在C++中,我们用friend来将一个函数声明为友元函数,这样,该函数就可以在类外访问与其有“好友”关系的类中的私有成员。

在类体中用friend对该函数进行声明,然后在类外对该函数进行定义,这样的函数称为该类的友元函数。根据此函数的不同类型可以将友元函数分为以下两种:

2。3。1将普通函数声明为友元函数 文献综述

当这个函数是不属于任何类的成员函数时,这个函数即为普通函数。简单例子如下:

class Time

{public: 

Time(int,int,int);

   friend void display(Time &);  //声明display函数为Time类的友元函数

 Private:

   int hour,minute,sec;};

void display(Time &t)          //友元函数,形参t是Time类对象的引用 (责任编辑:qin)