C 重载运算符,C 的所有运算符都可以重载吗?

发布于 科技 2024-08-01
2个回答
  1. 匿名用户2024-01-31

    说起来比较麻烦,但我似乎还是很快明白了。 举一个简单的运算符重载的例子。 两点的加法和减法是超载的。

    他使使用只能通过坐标进行数字使用的 +,- 运算成为可能。 点 x(1,1)+y(2,2)=z(3,3)以下是成功调试的示例。

    #include

    using namespace std;

    class lyhdian

    double x;

    double y;

    public:

    lyhdian(double,double);

    lyhdian operator +(lyhdian&);

    lyhdian operator -(lyhdian&);

    void show();

    lyhdian::lyhdian(double a,double b)

    x=a;y=b;

    lyhdian lyhdian::operator +(lyhdian& a1)

    double c=x+;

    double d=y+;

    lyhdian result(c,d);

    return result;

    lyhdian lyhdian::operator -(lyhdian& a1)

    double c=;

    double d=;

    lyhdian result(c,d);

    return result;

    void lyhdian::show()

    cout<<"该点的坐标为:"<>x>>y;

    lyhdian aa(x,y);

    cout<<"请输入另一个点的坐标:"<>x>>y;

    lyhdian bb(x,y);

    cout<<"在操作中添加了两点:"cout<<"减去两分:"

  2. 匿名用户2024-01-30

    大多数 C++ 运算符都可以重载。 运算符重载是 C++ 多态性的一种形式。 运算符重载将重载的概念扩展到运算符,允许 C++ 运算符被赋予多种含义。

    单目操作员过载:

    单目运算符只有一个操作数,例如 ! a、-b、&c、*p 以及最常用的 ++i 和 --i 等。 由于单目运算符只有一个操作数,因此运算符仅使用一个参数重载函数,如果运算符将函数作为成员函数重载,也可以省略该参数。

    下面以自动增量算子“++”为例,介绍单目算子的重载。

    示例]有一个时间类,它包含数据成员分钟(分钟)和秒(秒),模拟秒表,每次走一秒,整整 60 秒前进到一分钟,秒从 0 开始。需要以分钟和秒为单位的值输出。

    如您所见,运算符“++”在程序中已被重载,因此它可以用于时间类的对象。 “+ and” -- 运算符可以以两种方式使用,即前增运算符和后自动增量运算符。

    鉴于“++ and”的特性,C++ 常规地在自动增量(自递减)算子重载函数中添加一个 int 类型形式参数,即后递增(自递减)算子函数。

    双目操作员过载:

    双目运算符或二进制运算符是 C++ 中最常用的运算符。 双目算子有两个操作数,通常在算子的左右两侧,如3+5、a=b、i<10等。 当重载双目算子时,不言而喻,函数中应该有两个参数。

    Example] 定义了一个字符串类字符串来保存长度不定的字符串,并重载运算符 “==”, “and >” 以比较两个等于、小于和大于的字符串。

    有了这个基础,添加其他必要的内容。 现在添加运算符重载的部分。 为了便于编写和调试,首先重载运算符“>”程序,如下所示:

    程序的结果是 1。

    这只是一个不太完整的程序,但已经完成了大量工作,并且操作员过载已经成功。 其他两个算子的过载也可以用同样的方式炮制。

相关回答
8个回答2024-08-01

输出 a、b、c 和 d 的值,你会发现它们依次是 4、8、9 和 1。 为什么会这样? >>>More

11个回答2024-08-01

这是关于在类上使用某些运算符,以您自己定义的方式执行此操作。 >>>More

22个回答2024-08-01

int count=0;

count++;自加法的结果被赋值给 count,所以它是 count 的值变化,你输出 count++ >>>More

20个回答2024-08-01

1. |它是逻辑运算中的“或”,逻辑关系为:true||False = 真 True ||True = 真 False |True = 真 False |False = 假。 >>>More

11个回答2024-08-01

前两个程序是 ++i 和 i++ 之间的区别。

i。就是将i加一,然后进行运算,如i = 0,j = 0; j = ++i;最后 i = 1;j = 1;因为 i 加 1 先执行,j 在执行中赋值; >>>More