提交 a1c7f5b5 编写于 作者: W wsb

重载等号运算符示范

上级 9529edfc
......@@ -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 minusOperator.cpp minusOperator.h relationOperator.cpp relationOperator.h outAndInOperator.cpp outAndInOperator.h PlusPlusOperator.cpp PlusPlusOperator.h)
add_executable(CPP_11_HeavyLoad main.cpp test.cpp test.h operatorDemo.cpp operatorDemo.h minusOperator.cpp minusOperator.h relationOperator.cpp relationOperator.h outAndInOperator.cpp outAndInOperator.h PlusPlusOperator.cpp PlusPlusOperator.h EqualOperator.cpp EqualOperator.h)
//
// Created by 11010 on 2023/4/8.
//
#include "EqualOperator.h"
//构造函数
EqualOperator::EqualOperator(int l, int w) :len(l),width(w){
}
//重载等号运算符
void EqualOperator::operator= (const EqualOperator &equalOperator) {
len=equalOperator.len;
width=equalOperator.width;
}
//打印消息
void EqualOperator::print() {
cout<<"len: "<<len<<", width: "<<width<<endl;
}
//
// Created by 11010 on 2023/4/8.
//
#ifndef CPP_11_HEAVYLOAD_EQUALOPERATOR_H
#define CPP_11_HEAVYLOAD_EQUALOPERATOR_H
#include <iostream>
using namespace std;
//重载赋值运算符: 其实与加号运算符原理一样
class EqualOperator {
public:
int len;
int width;
EqualOperator(int l,int w);
void operator= (const EqualOperator &equalOperator);
void print();
};
#endif //CPP_11_HEAVYLOAD_EQUALOPERATOR_H
......@@ -6,6 +6,7 @@
#include <string>
#include "outAndInOperator.h"
#include "PlusPlusOperator.h"
#include "EqualOperator.h"
using namespace std;
......@@ -70,5 +71,16 @@ int main() {
++p2;
p2.print();
cout << "============================================" << endl;
EqualOperator eq(10,10);
eq.print(); //打印原始值
EqualOperator eq2(30,30);
eq2.print(); //打印原始值
//使用重载等号函数,把eq2赋给eq
eq=eq2;
eq.print(); //打印改变后的值 ,结果为: len: 30, width: 30
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册