当前位置: 首页 > news >正文

衡水 网站开发简述网站的建站流程

衡水 网站开发,简述网站的建站流程,免费申请微信收款码,企业营销型网站制作多少钱运算符重载注意 重载的运算符要易读内置的数据类型的表达式的运算符是不可以改变的不要重载 和 | | 运算符#xff0c;[]和-运算符只能通过成员函数进行重载和只能通过全局函数配合友元函数进行重载 加号运算符重载 如果想让自定义数据类型 进…运算符重载注意 重载的运算符要易读内置的数据类型的表达式的运算符是不可以改变的不要重载 和 | | 运算符[]和-运算符只能通过成员函数进行重载和只能通过全局函数配合友元函数进行重载 加号运算符重载 如果想让自定义数据类型 进行****运算那么就需要重载 ****运算符 在成员函数 或者 全局函数里 重写 一个****运算符的函数 函数名operate(){} 运算符重载可以不停重载接着重载 #includeiostreamusing namespace std;class Person{public:Person(){}Person(int a, int b) :m_A(a), m_B(b){}//号运算符重载 成员函数/*Person operator(Person p){Person tmp;tmp.m_A this-m_A p.m_A;tmp.m_B this-m_B p.m_B;return tmp;}*/int m_A;int m_B;};//利用全局函数进行号运算符的重载Person operator(Person p1, Person p2) //二元{Person tmp;tmp.m_A p1.m_A p2.m_A;tmp.m_B p1.m_B p2.m_B;return tmp;}//函数重载 附带运算符再次重载Person operator(Person p1, int a) //二元{Person tmp;tmp.m_A p1.m_A a;tmp.m_B p1.m_B a;return tmp;}void test01(){Person p1(10, 10);Person p2(10, 10);Person p3 p1 p2; //p1p2 从什么表达式转变的 p1.operator(p2) operator(p1,p2)Person p4 p1 10;//重载的版本cout p3的m_A p3.m_A endl p3的m_B p3.m_B endl;}int main(){test01();system(pause);return 0;}左移运算符重载 不要随意乱用符号重载 内置数据类型的运算符不可以重载 cout 直接对Person自定义数据类型 进行输出 写到全局函数中 ostream operator(ostream cout,Person p1){} 如果重载时想访问p1的私有成员那么全局函数要做Person的友元函数 #includeiostreamusing namespace std;class Person{friend ostream operator (ostream cout, Personp1);public:Person(){}Person(int a, int b){this-m_A a;this-m_B b;}/*void operator() 重载左移运算符不可以写到成员函数中{}*/private:int m_A;int m_B;};//cout是属于ostream类 //如果向访问私有成员就要用友元函数ostream operator (ostream cout, Personp1) //第一个参数cout 第二个参数p1{cout m_A p1.m_A m_B p1.m_B;return cout;}void test01(){Person p1(10, 10);cout p1endl;}int main(){test01();system(pause);return 0;}前置后置 运算符重载 自己实现int类型MyIntege 内部维护int 数据 MyInteger myint myint 后置 myint前置 重载运算符 operator()前置 operator(int )后置 前置理念 先 后返回自身 后置理念 先保存原有值 内部 返回临时数据 #includeiostreamusing namespace std;class MyInteger{friend ostream operator(ostream cout, MyInteger myInt);public:MyInteger(){m_Num 0;}//前置重载//返回引用MyInteger operator(){this-m_Num;return *this;}//用占位参数区分前置和后置//后置重载//返回值MyInteger operator(int){//先保存目前的数据MyInteger tmp *this;//实际数据m_Num;//返回前的数值return tmp;}//所以前置好因为返回引用少一份开销int m_Num;};ostream operator(ostream cout, MyInteger myInt){cout myInt.m_Num;return cout;}void test01(){MyInteger myInt;//前置值cout myInt endl;//后置值cout myInt endl;//本身的值cout myInt endl;}int main(){test01();system(pause);return 0;}赋值运算符重载 系统默认给类提供 赋值运算符写法 是简单值拷贝 导致如果类中有指向堆区的指针就可能出现深浅拷贝的问题 所以要重载运算符 链式编程return *this #define _CRT_SECURE_NO_WARNINGS#includeiostreamusing namespace std;class Person{public:Person(int a){this-m_A a;}int m_A;};void test01(){Person p1(10);Person p2(0);p2 p1;cout p2的m_A p2.m_A endl;}class Person2{public:Person2(char * name){this-pName new char[strlen(name) 1];strcpy(this-pName, name);}//类中重载 赋值运算符Person2 operator(const Person2 p){//判断如果原来已经堆区有内容先释放if (this-pName ! NULL){delete[]this-pName;this-pName NULL;}this-pName new char[strlen(p.pName) 1];strcpy(this-pName, p.pName);return *this;}~Person2(){if (this-pName ! NULL){delete[]this-pName;this-pName NULL;}}char * pName;};void test02(){Person2 p1(狗蛋);Person2 p2(狗剩);Person2 p3();p3p2 p1;cout p2.pName endl;cout p3.pName endl;cout p2.pName endl;int a 10;int b 20;int c;c a b; //都是20cout a b c endl;}int main(){test02();system(pause);return 0;}关系运算符重载 #includeiostream#includestringusing namespace std;class Person{public:Person(string name, int age){this-m_Name name;this-m_Age age;}bool operator(Person p){if (this-m_Name p.m_Namethis-m_Age p.m_Age){return true;}return false;}bool operator!(Person p){if (this-m_Name p.m_Namethis-m_Age p.m_Age){return false;}return true;}string m_Name;int m_Age;};void test01(){Person p1(小明, 10);Person p2(小强, 15);Person p3(小强, 15);/*int a 10;int b 10;if (a b){cout a,b相等 endl;}*/if (p1 p2){cout p1和p2相等 endl;}else{cout 不相等 endl;}if (p3 p2){cout p3和p2相等 endl;}else{cout 不相等 endl;}if (p1 ! p2){cout p1和p2不相等 endl;}else{cout 相等 endl;}}int main(){test01();system(pause);return 0;}函数调用运算符重载 #includeiostream#includestringusing namespace std;// ()重载class MyPrint{public:void operator()(string text){cout text endl;}};void test01(){MyPrint myPrint;myPrint(hello world); //仿函数}class MyAdd{public:int operator()(int v1,int v2){return v1 v2;}};void test02(){/*MyAdd myAdd;cout myAdd(1, 1) endl;*/cout MyAdd()(1, 1) endl; //匿名对象}int main(){//test01();test02();system(pause);return 0;}
http://www.zqtcl.cn/news/903370/

相关文章:

  • 高碑店地区网站建设上海排名十大装潢公司
  • 无锡自助建站网站还是新能源专业好
  • pc 手机网站 微站如何建设与维护网站
  • 大学生兼职网站开发毕设论文杭州网络排名优化
  • 做教育机器网站网站建设的步骤图
  • 桔子建站是什么平台郑州公司注册网上核名
  • 网站开发技能有哪些网站建设艾金手指科杰
  • 网站建设挂什么费用网站建设学那些课
  • 网站定位与功能分析在互联网公司做网站
  • 安阳网站建设兼职做网站推广有哪些公司
  • 网站制作的一般过程怎么用手机搭建网站
  • 备案 网站名称 怎么改深圳建网站公司
  • html 企业网站模板网站策划书免费
  • 网站建设销售ppt拖拽建站系统源码
  • 网站托管费用多少网站的开发流程
  • 周到的商城网站建设北京品牌网站
  • 网站开发费用属于什么科目网站建设考试多选题
  • c asp做网站wordpress4.5.2文章采集
  • 百度网站建设电话建立网站站建设可以吗
  • 网站后台代码在哪修改网站如何做下一页
  • 网站开发职业要求百度推广代理商与总公司的区别
  • 西安网站建设中心网页 网 址网站区别
  • 技术支持东莞网站建设机械seo岗位是什么意思
  • 做商城网站需要备案什么域名硬件开发工具有哪些
  • 网络网站制作技巧wordpress全文
  • 韩国原生ip站群服务器左右悬停代码网站
  • 专门做广东11选5的网站网站 备案 营业执照
  • 免费扑克网站wordpress弹出服务协议窗口
  • 网站的反爬一般怎样做网站右键屏蔽
  • 茂名做网站dyiee青岛宣传片制作公司