c++9_数据的共享与保护.pptVIP

  • 1
  • 0
  • 约8.67千字
  • 约 41页
  • 2017-12-26 发布于河北
  • 举报
c9_数据的共享与保护

* * * * * * * * * * * * * * * * * * * * * the aera of R1 is: 19.6344 the aera of R2 is: 0 运行结果: 共享数据的保护 * 例9-7:常成员函数 //CircleCal.h #ifndef Circle #define Circle class CircleCal { private: double Radius; //定义半径 const double PI; public: CircleCal(double r=0):PI(3.1415) //缺省半径值,常量的初始化 { Radius=r; }; double GetR() const; //声明常函数 double Cal(); //声明计算面积函数 ~CircleCal(){}; }; #endif 共享数据的保护 * 例9-7:常成员函数 //CircleCal.cpp #include iostream #include cmath #include CircleCal.h using namespace std; double CircleCal::Cal() //定义计算面积的值 { return pow(Radius,2)*PI; } double CircleCal::GetR() const //定义常函数的时候不可将const省去 { Radius=3; //错误!不可以改变Radius的值 return Radius; } 共享数据的保护 * 例9-7:常成员函数 //9_7.cpp #include iostream #include iomanip #include CircleCal.h using namespace std; int main() { CircleCal R1(2.5),R2; coutthe aera of R1 is: setw(5)R1.GetR()endl; coutthe aera of R2 is: setw(5)R2.GetR()endl; return 0; } 共享数据的保护 * the aera of R1 is: 2.5 the aera of R2 is: 0 运行结果: 共享数据的保护 * 常对象 常对象就是对象在生存期内不可更改的对象。 常对象首先需要被初始化,然后使用,在使用过程中,常对象只能调用常成员函数,因为一切调用非常成员函数都视为危险的,即便这个非常成员函数并没有修改成员数据。 共享数据的保护 * 例9-8:常对象对函数的调用 #ifndef Circle #define Circle class CircleCal { private: double Radius; //定义半径 static const double PI; public: CircleCal(){}; CircleCal(double); double Cal(); //声明计算面积函数 double GetR() const; double GetR(); ~CircleCal(){}; }; #endif 共享数据的保护 * 例9-8:常对象对函数的调用 //CircleCal.cpp #include iostream #include cmath #include CircleCal.h using namespace std; const double CircleCal::PI=3.1415; CircleCal::CircleCal(double r):Radius(r){}; double CircleCal::Cal() { return pow(Radius,2)*PI; } double CircleCal::GetR() const { coutconst function is loadedendl; return Radius; } 共享数据的保护 * 例9-8:常对象对函数的调用 double CircleCal::GetR() { coutnormal function is loadedendl; return Radius; } ? //9_8.cpp #include iostream #include iomanip #include CircleCal.h using namespace std; int main() { const CircleCal R1(2.5);

文档评论(0)

1亿VIP精品文档

相关文档