21xrx.com
2024-09-20 00:30:43 Friday
登录
文章检索 我的文章 写文章
C++运算符重载示例题
2023-06-22 13:21:06 深夜i     --     --
C++ 运算符 重载 示例题 函数重载

C++是一种高级编程语言,它支持运算符重载,这使得程序员可以通过改变操作符的行为来自定义类型。下面是一个C++运算符重载示例题。

示例题:

实现一个“复数”类,其中包含实部和虚部属性。定义加、减、乘以及输出运算符。

要求:

1. 实现加减乘运算符的重载。

2. 重载<<运算符,可以输出复数类的实部和虚部。

3. 数据类型不能被修改。

复数类的定义及实现如下:


#include <iostream>

using namespace std;

class Complex{

private:

  double real, imag;

public:

  Complex(double r=0, double i=0) : real(r), imag(i){}

  Complex operator+(const Complex& x){

    return Complex(real+x.real, imag+x.imag);

  }

  Complex operator-(const Complex& x){

    return Complex(real-x.real, imag-x.imag);

  }

  Complex operator*(const Complex& x){

    return Complex(real*x.real-imag*x.imag, real*x.imag+imag*x.real);

  }

  friend ostream& operator<<(ostream& out, const Complex& x)"<<x.imag<<endl;

    return out;

  

};

在这个示例题中,我们定义了一个“复数”类,其中包含实部和虚部属性。我们通过重载加、减、乘以及输出运算符,自定义了这个“复数”类型。

我们实现了三个运算符重载函数(operator+)、operator-、operator*),它们的主要作用是对两个复数进行加、减、乘运算。

最后,我们通过重载<<运算符,实现了对复数类型的输出。

C++运算符重载的作用在于扩展了C++语言的功能,使得程序员可以根据需要自定义类型和操作符的行为。本文中的示例题展示了如何通过运算符重载实现复数类型的加、减、乘和输出运算符。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复