类的封装和访问控制

来源:互联网 发布:软件测评中心 编辑:程序博客网 时间:2024/06/08 18:50

传智扫地僧课程学习笔记。


将,

类的属性,即成员变量,

类的方法,即成员函数,

封装在一起,

并通过public,protected,private关键字,

实现对这些属性和方法的访问控制,

class MyCircle{public:double m_r; //属性 成员变量double m_s;public:double getR(){return m_r;}void setR(double r) //成员函数{m_r = r;}double getS(){m_s = 3.14*m_r*m_r;return  m_s;}protected:private:};//类的封装的威力//类封装的成员变量和成员函数  //可以调用类的成员函数void printCircle01(MyCircle *pC){cout<<"r"<<pC->getR()<<endl;cout<<"s"<<pC->getS()<<endl;}void printCircle02(MyCircle &myc){cout<<myc.getS()<<endl;}void printCircle03(MyCircle myc){}void main_类的封装第一层含有(){MyCircle c1, c2;c1.setR(10);cout<<"c1 s: "<<c1.getS()<<endl;c1.setR(11);printCircle01(&c1);c2.setR(20);printCircle01(&c2);//引用printCircle02(c2);cout<<"hello...."<<endl;system("pause");}
上面的代码,描述的是类的封装,下面的代码,描述的是类的访问控制,

class MyAdvCircle{private:double m_r2; //没有权限修饰的成员变量 函数 是 默认是私有属性private:double m_r; //属性 成员变量double m_s;  //相当于你的银行卡密码public:double getR()  //你的名字{return m_r;}void setR(double r) //成员函数{m_r = r;}double getS(){m_s = 3.14*m_r*m_r;return  m_s;}};void main_02(){MyAdvCircle c1, c2;//c1.m_r = 10; c1.setR(10);system("pause");}



0 0