C++类的封装

来源:互联网 发布:mac怎么设置手机铃声 编辑:程序博客网 时间:2024/06/04 17:42
1 private,public,protected的访问范围:
private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. 
protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问 
public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数
/**类的封装**/class MyCircle{/*未指定变量的属性*/public:int val;private:double circle_r;double circle_s;double Circumference;/*周长*/public:void Set_circle_r(double C_r){circle_r = C_r;}double Circle_area(){circle_s = 3.14*circle_r*circle_r;return circle_s;}double ThisCircumference(){Circumference = 2 * 3.14* circle_r;return Circumference ;}};void PrintfCircleInfo(MyCircle &Circle){cout << "  circle_r=" << Circle.Circle_area()<<endl;cout << "Circumference=" << Circle.ThisCircumference()<<endl;}int main(){MyCircle C1;/*定义对象*/C1.Set_circle_r(5);PrintfCircleInfo(C1);system("pause");return 0;}
在class中未指定访问范围的变量或者成员函数,其默认为private属性,不能被类意外的类或者函数使用

2
class和struct
在class中未指定访问范围的变量或者成员函数,其默认为private属性,不能被类意外的类或者函数使用,但是在struct中未指定访问范围的成员变量默认为public属性,对于外部函数或者类可见;
原创粉丝点击