C++面向对象程序设计入门:类的实现和使用
2017-06-25 11:42
309 查看
在头文件中声明类,在源文件中实现类。
写一个运算的类:
setOperator函数设置运算符,setParameter函数设置运算参数,result函数得到运算结果。
写一个运算的类:
setOperator函数设置运算符,setParameter函数设置运算参数,result函数得到运算结果。
//operator.h #ifndef OPERATOR_H_ #define OPERATOR_H_ class Operator { private: char mOp; double mP1; double mP2; public: bool setOperator(char op); void setParameter(double p1,double p2); bool result(double& r); }; #endif //operator.cpp #include "operator.h" bool Operator::setOperator(char op) { bool ret = false; if((op == '+') || (op == '-') || (op == '*') || (op == '/') || (op == '%')) { ret = true; mOp = op; } else { mOp = '\0'; } return ret; } void Operator::setParameter(double p1,double p2) { mP1 = p1; mP2 = p2; } bool Operator::result(double& r) { bool ret = true; switch(mOp) { case '/': if((-0.000000001 < mP2) && (mP2 < 0.000000001)) { ret = false; } else { r = mP1/mP2; } break; case '%': if((-0.000000001 < mP2) && (mP2 < 0.000000001)) { ret = false; } else { r = (double)((int)mP1%(int)mP2); } break; case '+': r = mP1 + mP2; break; case '*': r = mP1 * mP2; break; case '-': r = mP1 - mP2; break; default: ret = false; break; } return ret; } //main.cpp #include <stdio.h> #include "operator.h" int main() { Operator op; double ret = 0; op.setOperator('/'); op.setParameter(11,2); if(op.result(ret)) { printf("ret = %lf or ret = %d\n",ret,(int)ret); } else { printf("Calculate error!\n"); } op.setOperator('%'); op.setParameter(11,2); if(op.result(ret)) { printf("ret = %d\n",(int)ret); } else { printf("Calculate error!\n"); } op.setOperator('+'); op.setParameter(11,2); if(op.result(ret)) { printf("ret = %lf\n",ret); } return 0; }
相关文章推荐
- JavaEE--------> Hibernate入门 -->使用Hibernate实现数据的删改
- jQuery入门学习二:使用jQuery方式实现异步登录验证
- 【使用JSOUP实现网络爬虫】入门:解析和遍历一个HTML文档
- FFmpeg入门(2)-使用ffmpeg实现转码样例(代码实现)
- java struts2入门学习实例--使用struts2快速实现多个文件上传
- SDL入门教程(十):4、用iconv获得正确的Unicode,使用FriBiDi实现UTF-8到Unicode的正确转换
- OpenGL入门学习之九——使用混合来实现半透明效果
- Android入门:使用Android GPS实现简单的定位
- SDL入门教程(十):4、用iconv获得正确的Unicode,使用FriBiDi实现UTF-8到Unicode的正确转换
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序实现继承
- AOP_1.入门及使用JDK中的Proxy技术实现
- [Silverlight入门系列]使用MVVM模式(4):Prism的NotificationObject自动实现INotifyPropertyChanged接口
- [Silverlight入门系列]使用MVVM模式(3):Model的INotifyPropertyChanged接口实现
- Androidk开发入门之使用AIDL实现进程通信
- Thrift使用入门(2) - 用Thrift实现一个简单的Server/Client应用程序
- ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP入门)
- Thrift使用入门(2) - 用Thrift实现一个简单的Server/Client应用程序
- Spring 3.x MVC 入门3 -- 使用内容协商来实现多视图
- Easyui入门视频教程 第08集---登录实现 ajax button的使用
- Quartz使用-入门使用(java定时任务实现)