c++8
来源:互联网 发布:淘宝代做课程设计 编辑:程序博客网 时间:2024/05/29 14:11
1.使用友元函数和成员函数实现一元运算符的重载
#include<iostream>using namespace std;class Complex{public:friend Complex myAdd(Complex &c1, Complex &c2);friend Complex operator+(Complex &c1, Complex &c2);friend Complex& operator++(Complex &c1);friend Complex operator++(Complex &c1,int);Complex(int a = 0,int b=0){this->a = a;this->b = b;}void printCom(){cout << a << "+" << b << "i" << endl;}//成员函数的方法实现前--重载Complex& operator--(){this->a--;this->b--;return *this;}//成员函数实现后置--Complex operator--(int){Complex tmp = *this;this->a--;this->b--;return tmp;}protected:private:int a;int b;};Complex myAdd(Complex &c1,Complex &c2){Complex tmp(c1.a + c2.a, c1.b+c2.b);return tmp;}Complex operator+(Complex &c1, Complex &c2){Complex tmp(c1.a + c2.a, c1.b + c2.b);return tmp;}//前置++Complex& operator++(Complex &c1){c1.a++;c1.b++;return c1;}//后置++Complex operator++(Complex &c1,int){Complex tmp = c1;c1.a++;c1.b++;return tmp;}void main(){int a = 0, b = 0;int c;c = a + b;//基础数据类型,编译器知道如何运行Complex c1(1, 2), c2(3, 4);//Complex c3;//c3 = c2 + c1;//用户自定义的数据类型,编译器不知道如何运算Complex c4 = c1 + c2;c4.printCom();//前置++操作符,用全局函数实现++c1;c1.printCom();//前置--操作符,用成员函数方法--c1;c1.printCom();//后置++操作符,用全局函数c1++;c1.printCom();//后置--操作符,用成员函数c1--;c1.printCom();cout << "hello.." << endl;system("pause");return;}
阅读全文
0 0
- C.8
- 8C
- C/C++_lesson1~8测试
- c语言:c=unsigned(c)> > (sizeof(int)*8-1);
- 高质量C++/C编程指南[8]
- C++/C学习笔记--(8)
- c练习8
- 8kbstack.c
- C编程题(8)
- C语言例题8:
- c语言练习8
- C:2-8
- c 1-8
- C基础8
- C指针原理(8)
- the c program1.8
- c语言思想8
- C语言 8进制
- Java HashMap简介
- 有趣的汉语:同音文(一):《季姬击鸡记》
- 构建高可用ZooKeeper集群
- c++基础知识(4)
- Mysql常用命令详解
- c++8
- 整数排序
- 编辑神器 Emmet
- SPPNet:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- 2017上海金马五校程序设计竞赛 B:Sailing
- Axure的使用---原型图
- Moving Averages(3): How To Use Them
- C笔记 动态分配 malloc,free,calloc,realloc
- 有趣的汉语:同音文(二):《施氏食狮史》