c++实例研究

从0开始

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  104 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
#include <cstdlib>
#include 
<iostream>

class comp
{
public:
    
double re,im;
public:
    comp(
double r=0.0,double i=0.0):re(r),im(i){}
    comp 
operator+(comp);
    
void printObj(){std::cout<<"re="<<re<<"im="<<im<<"\n";}
}
;

comp comp::
operator+(comp b)
{
    comp ret;
    ret.re 
= re + b.re;
    ret.im 
= im + b.im;
    
return ret;
}


int main()
{
    comp x(
1.0,2.0);
    comp y(
3.0,4.0);
    comp z;
    x.printObj();
    y.printObj();
    z 
= x+y;
    z.printObj();
    system(
"PAUSE");
    
return 0;
}

以上是类成员声明的运算符重载
#include <cstdlib>
#include 
<iostream>

class comp
{
public:
    
double re,im;
public:
    comp(
double r=0.0,double i=0.0):re(r),im(i){}
    
void printObj(){std::cout<<"re="<<re<<"im="<<im<<"\n";}
}
;

comp 
operator+(comp a,comp b)
{
    comp ret;
    ret.re 
= a.re + b.re;
    ret.im 
= a.im + b.im;
    
return ret;
}


int main()
{
    comp x(
1.0,2.0);
    comp y(
3.0,4.0);
    comp z;
    x.printObj();
    y.printObj();
    z 
= x+y;
    z.printObj();
    system(
"PAUSE");
    
return 0;
}

以上是函数声明的运算符重载
posted on 2010-05-05 09:23 elprup 阅读(602) 评论(0)  编辑 收藏 引用 所属分类: c++实例

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理