C 和 C++ 一些基础
2016-05-16 23:29
435 查看
位运算:
Part1:
View Code
Part1:
namespace test_struct_define { struct Point3d { float x; float y; float z; }; #define XSET(P,xval,yval,zval)\ {\ P.x=xval;\ P.y=yval;\ P.z=zval;\ } inline ostream& operator <<(ostream &os,const Point3d &pt) { os << "X:VALUE->"<<pt.x << " Y:VALUE->"<< pt.y << " Z:VALUE->" <<pt.z<<endl; return os; } int main() { Point3d pt; XSET(pt,1,2,3); cout<< pt <<endl; } } template <typename T> class GLY_POINT_3d { public: GLY_POINT_3d(T x=0.0,T y=0.0,T z=0.0):_x(x),_y(y),_z(z) { } T x() const { return _x; } T y() const { return _y; } T z() const { return _z; } friend ostream&operator<<(ostream &os,const GLY_POINT_3d <T> &pt) { os<< pt.x()<< " "<< pt.y()<<" " << pt.z(); return os; } T &operator [](int index) { assert(index<3); if(index==0) { return _x; } if(index==1) { return _y; } if(index==2) { return _z; } } private: T _x; T _y; T _z; }; int main() { GLY_POINT_3d <int> pt(1,2,3); cout << pt<<endl; cout << pt[0] <<endl; cout << pt[1] <<endl; cout << pt[2] <<endl; }
View Code
相关文章推荐
- c语言学习笔记8之if语句
- C语言字符输出格式化
- C++相关文章
- C++常见错误中英文对照表
- 逆元的使用
- C++随笔:.NET CoreCLR之GC探索(2)
- C++ STL--stack/queue 的使用方法
- C++实现二分查找
- Java和C++你知道这些吗?
- 飞机游戏、俄罗斯方块、贪吃蛇C语言代码
- vc++6.0 编译执行opencv1.0
- [C++Primer] 第二章 变量和基本类型
- C++对C的扩展之cin与cout
- C++ Primer 学习总结(附习题程序)
- 152. Maximum Product Subarray
- 6个变态的C语言Hello World程序
- C++操作符重载
- cvCanny函数源码解析
- C\C++ enum枚举类型
- C++Builder 模块的学习