标准类:
#include <iostream>
using namespace std;
//创建类
class mix {
public:
mix(int a, int b) {
this->a = a;
this->b = b;
}
void printmix() {
cout << "-------" << '(' << a << ',' << b << ')' << "-------" << endl;
}
mix operator+(mix &other) {
int tempa = this->a + other.a;
int tempb = this->b + other.b;
mix temp(tempa, tempb);
return temp;
}
private:
int a;
int b;
};
int main() {
mix a1(10, 10);
a1.printmix();
mix a2(10, 10);
a2.printmix();
mix a3 = a1 + a2;
a3.printmix();
return 0;
}
-------(10,10)-------
-------(10,10)-------
-------(20,20)-------
类模板:
#include <iostream>
using namespace std;
//创建类
template <typename T>
class mix {
public:
mix(T a, T b) {
this->a = a;
this->b = b;
}
void printmix() {
cout << "-------" << '(' << a << ',' << b << ')' << "-------" << endl;
}
mix operator+(mix& other);
mix operator-(mix& other);
private:
T a;
T b;
};
template<typename T>
mix<T> mix<T>::operator+(mix<T>& other)
{
T tempa = this->a + other.a;
T tempb = this->b + other.b;
mix temp(tempa, tempb);
return temp;
}
template<typename T>
mix<T> mix<T>::operator-(mix<T>& other)
{
T tempa = this->a - other.a;
T tempb = this->b - other.b;
mix temp(tempa, tempb);
return temp;
}
int main() {
mix<float> a1(9.9, 8.8);
a1.printmix();
mix<float> a2(7.7, 6.6);
a2.printmix();
mix<float> a3 = a1 + a2;
a3.printmix();
mix<float> a4 = a1 - a2;
a4.printmix();
return 0;
}
运行结果:
-------(9.9,8.8)-------
-------(7.7,6.6)-------
-------(17.6,15.4)-------
-------(2.2,2.2)-------