共用数据的保护的问题
常对象
常成员函数
#include <iostream> using namespace std; class Test { private: int x, y; public: Test(int a, int b) { x=a; y=b; } void Printxy(void) { x=2; //可能是意外修改 cout<<"x*y="<<x*y<<endl; } } ; int main() { Test p1(3,5); p1.Printxy( ); }
常对象
#include <iostream> using namespace std; class Time { public: Time( ):hour(0),minute(0),sec(0) {}; Time(int h,int m,int s):hour(h),minute(m),sec(s) {}; void set_time(int h,int m,int s) { hour=h; minute=m; sec=s; }; void show_time( ); private: int hour; int minute; int sec; }; void Time::show_time( ) { cout<<hour<<":"<<minute<<":"<<sec<<endl; } int main( ) { const Time t1(10,10,10); t1.set_time(20,20,20); t1.show_time(); return 0; }
常成员函数
#include <iostream> using namespace std; class Time { public: Time( ):hour(0),minute(0),sec(0) {}; Time(int h,int m,int s):hour(h),minute(m),sec(s) {}; void set_time(int h,int m,int s) { hour=h; minute=m; sec=s; }; void show_time( ) const; private: int hour; int minute; int sec; }; void Time::show_time( ) const { cout<<hour<<":"<<minute<<":"<<sec<<endl; } int main( ) { Time t1(10,10,10); t1.set_time(20,20,20); t1.show_time(); return 0; }