C++学习 (使用类)
来源:互联网 发布:sql求和保留两位小数 编辑:程序博客网 时间:2024/06/06 09:12
- 友元函数,
常用的是对<<的重载
#include <stdio.h>#include <iostream>using namespace std;struct node{ double x; double y; node(){}; node(int _x, int _y){ x =(double) _x; y = (double) _y; } node (double _x, double _y) { x =_x; y = _y; } friend void operator <<(ostream & os, const node &t);};void operator <<(ostream & os, const node &t){ os << "x : "<<t.x << " y :"<< t.y<<endl;}int main(){ node a = node(1.0, 2.0); node b = node(3.0, 4.0); cout<<a; //cout<<a<<b<<endl; error!!!!}
这时候使用 cout<
std::ostream & operator<<(std::ostream & os, const node &t){ os << "x : "<<t.x << " y :"<< t.y<<endl; return os;}并且一定是 std::ostream &
然后就是今天发现了要给比较神奇的事情。。。原来学的C,c++真的是渣渣,原来结构体也可以类型转换的,只有定义了相应构造函数,而且还分强制类型转换,和隐式转换
#include <stdio.h>#include <iostream>using namespace std;struct node{ double x; double y; node(){}; node(int _x){ x =(double) _x; } node (double _x) { x =_x; }};int main(){ node now; now = double(1.3); cout<<now.x<<endl;//隐式}
如果不想让它这样 加上 explicit
#include <stdio.h>#include <iostream>using namespace std;struct node{ double x; double y; node(){}; explicit node(int _x){ x =(double) _x; } explicit node (double _x) { x =_x; }};int main(){ node now; node = (double)1.3 // now = node(1.3); right cout<<now.x<<endl;}
这样就关闭了隐式,但是显示转换还是可以得
0 0
- 【学习C++】Map使用
- 学习xerces-c使用中
- C++Primer学习笔记(使用类,友元,类转换)
- 通过代码学习C#&.NET——委托使用(通用类设计)
- 通过代码学习C#&.NET——委托使用(通用类设计)
- C++学习--使用类(1)
- C/C++ 学习笔记:C++ 中 string 类使用总结
- C++PrimerPlus第十一章学习笔记——使用类
- 学习使用SQLite(版本3.7.4)(中C)
- C/C++学习笔记(九)typedef的使用
- C语言学习笔记(3)assert的使用
- OC学习笔记(8)Object-C组合使用
- C/C++学习:数字排序(使用快速排序)
- c语言学习笔记(12)条件编译使用分析
- C#interface学习(二)--索引器使用
- C/C++学习(2)关于strcpy、strcat函数使用
- 小白教你学习C++(5)函数模板的使用
- 学习使用<c:choose><c:when>,<c:otherwise>标签
- PHP中命名空间
- 标签属性方式设置字段formatter时,发现没有效果
- 线程池ThreadPoolExecutor参数设置
- java选择排序方法
- safari浏览器 session tomcat服务器
- C++学习 (使用类)
- 微软算法100道题-----输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点
- Android webview使用详解
- struts框架设计
- WAMP安装与配置---详细
- Android应用程序基础
- java插入排序方法
- HDOJ 1272 小希的迷宫
- Webdriver - Firefox 设置地理位置信息相关测试