C++练习二 复数类实现以及重载+—操作符

考虑到大多数同事使用的是VS2010,改用VS2010 平台进行编译。 

练习目的

  1. 学习类的基本知识,构造函数以及成员函数
  2. 学习重载操作符
声明代码文件real_num.h: 
#ifndef REAL_NUM_H_
#define REAL_NUM_H_

class Realnum
{
public:
	Realnum();
	Realnum(float r, float i);

	void reset(float r=0,float i = 0);
	void show()const;

	Realnum operator +(const Realnum &t) const;
	Realnum operator -(const Realnum &t) const;


private:
	float real;
	float imaginary;
};
#endif

类函数实现文件 real_num.cpp
#include <iostream>
#include "real_num.h"
using namespace std;
Realnum::Realnum()
{
	real = 0;
	imaginary = 0;
}

Realnum::Realnum(float r,float i)
{
	real = r;
	imaginary = i;
}
void Realnum::reset(float r,float i)
{
	real = r;
	imaginary = i;
}

Realnum Realnum::operator+(const Realnum &t)const
{
	Realnum sum;
	sum.real = real + t.real;
	sum.imaginary = imaginary + t.imaginary;
	return sum;
}

Realnum Realnum::operator-(const Realnum &t)const
{
	Realnum diff;
	diff.real = real - t.real;
	diff.imaginary = imaginary - t.imaginary;
	return diff;
}

void Realnum::show()const
{
	if(imaginary > 0)
	{
		cout<<real<<"+j"<<imaginary<<endl;
	}
	else if(imaginary > 0)
	{
		cout<<real<<endl;
	}
	else
	{
		cout<<real<<"-j"<<-imaginary<<endl;
	}
}

主函数 main.cpp
// real_num.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "real_num.h"
#include <iostream>

int _tmain(int argc, _TCHAR* argv[])
{
	using namespace std;
	Realnum aa(3.2,-5.3);
	Realnum bb(-5.8,9.6);
	Realnum cc = aa + bb;
	Realnum dd = aa - bb;
	aa.show();
	bb.show();
	cc.show();                            
	dd.show();
	cin.get();
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值