#include<iostream>usingnamespace std;classKun{//算术运算符friendconst Kun operator+(const Kun &k1,const Kun &k2);friendconst Kun operator-(const Kun &k1,const Kun &k2);friendconst Kun operator*(const Kun &k1,const Kun &k2);friendconst Kun operator/(const Kun &k1,const Kun &k2);//关系运算符friendbooloperator==(const Kun &k1,const Kun &k2);friendbooloperator>(const Kun &k1,const Kun &k2);friendbooloperator<(const Kun &k1,const Kun &k2);friendbooloperator!=(const Kun &k1,const Kun &k2);//赋值运算符friend Kun &operator+=(Kun &k1,const Kun &k2);friend Kun &operator-=(Kun &k1,const Kun &k2);friend Kun &operator*=(Kun &k1,const Kun &k2);friend Kun &operator/=(Kun &k1,const Kun &k2);private:int a;int b;public:Kun(){}Kun(int a,int b):a(a),b(b){}voidshow(){cout <<"a="<< a << endl <<"b="<< b << endl;}//算术运算符// const Kun operator+( const Kun &k) const// {// Kun temp;// temp.a = a + k.a;// temp.b = b + k.b;// return temp;// }// const Kun operator-( const Kun &k) const// {// Kun temp;// temp.a = a - k.a;// temp.b = b - k.b;// return temp;// }// const Kun operator*( const Kun &k) const// {// Kun temp;// temp.a = a * k.a;// temp.b = b * k.b;// return temp;// }// const Kun operator/( const Kun &k) const// {// Kun temp;// temp.a = a / k.a;// temp.b = b / k.b;// return temp;// }// const Kun operator%( const Kun &k) const// {// Kun temp;// temp.a = a % k.a;// temp.b = b % k.b;// return temp;// }//关系运算符// bool operator==(const Kun &k) const// {// if(a == k.a && b == k.b)// {// return true;// }else// return false;// }// bool operator>(const Kun &k) const// {// if(a > k.a && b > k.b){// return true;// }else// return false;// }// bool operator<(const Kun &k) const// {// if(a < k.a && b < k.b){// return true;// }else// return false;// }// bool operator!=(const Kun &k) const// {// if(a != k.a && b != k.b){// return true;// }else// return false;// }//赋值运算符// Kun &operator+=(const Kun &k2)// {// a += k2.a;// b += k2.b;// return *this;// }// Kun &operator-=(const Kun &k2)// {// a -= k2.a;// b -= k2.b;// return *this;// }// Kun &operator=(const Kun &k2)// {// if(this!=&k2){// a = k2.a;// b = k2.b;// }// return *this;// }// Kun &operator*=(const Kun &k2)// {// a *= k2.a;// b *= k2.b;// return *this;// }// Kun &operator/=(const Kun &k2)// {// a /= k2.a;// b /= k2.b;// return *this;// }};//算术运算符const Kun operator+(const Kun &k1,const Kun &k2){Kun temp;temp.a = k1.a + k2.a;temp.b = k1.b + k2.b;return temp;}const Kun operator-(const Kun &k1,const Kun &k2){Kun temp;temp.a = k1.a - k2.a;temp.b = k1.b - k2.b;return temp;}const Kun operator*(const Kun &k1,const Kun &k2){Kun temp;temp.a = k1.a * k2.a;temp.b = k1.b * k2.b;return temp;}const Kun operator/(const Kun &k1,const Kun &k2){Kun temp;temp.a = k1.a / k2.a;temp.b = k1.b / k2.b;return temp;}//关系运算符booloperator==(const Kun &k1,const Kun &k2){if(k1.a == k2.a && k1.b == k2.b){returntrue;}elsereturnfalse;}booloperator>(const Kun &k1,const Kun &k2){if(k1.a >k2.a && k1.b > k2.b){returntrue;}elsereturnfalse;}booloperator<(const Kun &k1,const Kun &k2){if(k1.a < k2.a && k1.b < k2.b){returntrue;}elsereturnfalse;}booloperator!=(const Kun &k1,const Kun &k2){if(k1.a != k2.a && k1.b != k2.b){returntrue;}elsereturnfalse;}//赋值运算符
Kun &operator+=(Kun &k1,const Kun &k2){k1.a += k2.a;k1.b += k2.b;return k1;}
Kun &operator-=(Kun &k1,const Kun &k2){k1.a -= k2.a;k1.b -= k2.b;return k1;}
Kun &operator*=(Kun &k1,const Kun &k2){k1.a *= k2.a;k1.b *= k2.b;return k1;}
Kun &operator/=(Kun &k1,const Kun &k2){k1.a /= k2.a;k1.b /= k2.b;return k1;}intmain(){Kun k(10,10);Kun kk(10,10);Kun kkk = k + kk;kkk.show();if(kkk == kk){cout <<"左右操作数想等"<< endl;}elseif(kkk > kk){cout <<"左操作数大于右操作数"<< endl;}elseif(kkk < kk){cout <<"左操作数小于右操作数"<< endl;}else{cout <<"不知道"<< endl;}kkk+=kk;kkk.show();kkk-=kk;kkk.show();return0;}
总体安装过程已经很明白了,写的人很多了,我就不赘述了,可以参考这里或者其他博客。我主要记录几个我遇到的问题以及解决方法。
1、cmake报错:No CMAKE_CUDA_COMPILER could be found.
这个原因是没找到cuda和nvcc目录࿰…
开关模式电源(Switch Mode Power Supply,简称SMPS),又称交换式电源、开关变换器,是一种高频化电能转换装置,是电源供应器的一种。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需…