类的真正形态
類的真正形態
類的關鍵字
struct在C語言中已經有了自己的定義,必須繼續兼容
在C++中提供了新的關鍵字,class用于類定義
class和struct用法是完全相同
struct和class區別
用struct定義時,所有成員默認為public
用class定義時,所有成員默認為private
實例:需求
開發一個用于四則運算的類
提供setOperator函數設置運算類型
提供setParameter函數設置運算參數
提供result函數進行運算
其返回值表示運算的合法性
通過引用參數返回結果
類的真正形態
C++中的類支持聲明和實現的分離
將類的實現和定義分開
.h頭文件中只有類的聲明
成員變量和成員函數的聲明
.cpp源文件中完成類的其他實現
成員函數的具體實現
operator.h
Operator.cpp
#include "Operator.h" #include "stdio.h"bool Operator::setOperator(char op) {bool ret=false;if((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;seitch(mop){case '/':if( (-0.000000001 < mP2) && (mP2 < 0.000000001) ){ret = false;}else{r = mP1 / mP2;}break;case '+':r = mP1 + mP2;break;case '*':r = mP1 * mP2;break;case '-':r = mP1 - mP2;break;default:ret = false;break;}return ret }int main() {Operator op;double r=0;op.setOperator('/');op.setParameter(9, 3);if( op.result(r) ){printf("r = %lf\n", r);}else{printf("Calculate error!\n");}return 0; }總結
- 上一篇: 包与模块管理及面向对象初步
- 下一篇: kafka 启动_Kafka管理工具Ka