c++运算符重载发现的问题


一.构造函数不会用了。

常见的有:

1 .默认构造函数:

   在class里面,

   fushu() 

   在class外面

   fushu::fushu()

     {

         real=  ;

         imaginary=   ;

     }

   该函数在定义对象时,就被调用

  2.带形参的构造函数:

      在class里面:

      fushu(double _real=0,double _imaginary=0)

     在class外面:

       void fushu::fushu(double _real,double _imaginary)

             {

               

                         real= _real ;

                         imaginary= _imaginary   ;

              }

            这种在主函数中需要传递参数时调用,没有参数时,私有成分都会被赋为0,有参数时为参数。

  3.构造函数初始化列表

           在class里          

                fushu(double  _real=0,double _imaginary=0 );

          在class外面

                fushu::fushu(double _real,double _imaginary):real(_real),imaginary(_imaginary)

                  { }

               这种是有参数的话传给形参,形参再传给私有成分,没参数相当于默认构造函数,私有成分被赋为默认值。   

 4.最直接方便的方法

           在class里面的public里

                    fushu(double _real=0,double _imaginary=0):real(_real),imaginary(_imaginary)

                   {};  

            默认值视题目具体情况而定。      

 二.运算符重载,比如fushu f1,f2.

主函数中:f1+f2;

重载函数中:

fushu operator+(fushu f)

{

    real=real+f.real      此处的real为f1的real,    此句表示f1的real改变数值。

}
阅读更多
上一篇认真读题,确定题目中给到的基本数据输入输出的准确性的重要性
下一篇写C++运算符重载重载复数类输入输出,关系运算发现的问题。
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭