提交 b13d2e11 编写于 作者: W wsb

重载负号运算符示范

上级 cb3249e1
......@@ -3,4 +3,4 @@ project(CPP_11_HeavyLoad)
set(CMAKE_CXX_STANDARD 11)
add_executable(CPP_11_HeavyLoad main.cpp test.cpp test.h operatorDemo.cpp operatorDemo.h)
add_executable(CPP_11_HeavyLoad main.cpp test.cpp test.h operatorDemo.cpp operatorDemo.h minusOperator.cpp minusOperator.h)
#include <iostream>
#include "test.h"
#include "operatorDemo.h"
#include "minusOperator.h"
int main() {
test *test=new class test(); //申明类对象
test *test = new class test(); //申明类对象
//使用重载函数
int max1=test->max(12,23);
int max2=test->max(22,34.567);
test->max("字符串",12,12);
cout<<max1<<","<<max2<<endl;
int max1 = test->max(12, 23);
int max2 = test->max(22, 34.567);
test->max("字符串", 12, 12);
cout << max1 << "," << max2 << endl;
//重载+号运算符
operatorDemo op1(12,12,12), op2(34,23,14); //申明两个类对象并给出初始值
operatorDemo op1(12, 12, 12), op2(34, 23, 14); //申明两个类对象并给出初始值
op1.print();
op2.print();
//使用重载函数使两个对象相加
operatorDemo OP=op1+op2; //实际上全写为: op1.operator+(op2); 只不过operator和()可以免写罢了
operatorDemo OP = op1 + op2; //实际上全写为: op1.operator+(op2); 只不过operator和()可以免写罢了
OP.print();
//使用重载函数给参数取反
minusOperator mo(12, 34), mo2(33, 99);
minusOperator a = -mo; //相当于 mo.operator-();
minusOperator b = -mo2; //相当于 mo2.operator-();
a.print();
b.print();
return 0;
}
//
// Created by 11010 on 2023/4/8.
//
#include "minusOperator.h"
minusOperator::minusOperator() {
//给成员赋初值
len = 0;
width = 0;
}
minusOperator::minusOperator(int l, int w) : len(l), width(w) {
}
//相当于给参数取相反数
minusOperator minusOperator::operator-() {
len = -len;
width = -width;
return minusOperator(len,width);
}
void minusOperator::print() {
cout<<"运行结果:"<<len<<","<<width<<endl;
}
//
// Created by 11010 on 2023/4/8.
//
#ifndef CPP_11_HEAVYLOAD_MINUSOPERATOR_H
#define CPP_11_HEAVYLOAD_MINUSOPERATOR_H
#include <iostream>
#include <string>
using namespace std;
//ؼ
class minusOperator {
public:
int len;
int width;
void print();
minusOperator();
minusOperator(int l,int w);
minusOperator operator- (); //
};
#endif //CPP_11_HEAVYLOAD_MINUSOPERATOR_H
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册