C++之---class 的三种访问修饰符( public、private、protected )

类的语法定义形式:   

 class B
    {
        public:  //公有成员
     
        private:  //私有成员
     
        protected:   //受保护成员
     
    }:

公有(public)成员:在程序类的外部可以访问

    #include<iostream>
    using namespace std;
    class area
    {
        public:       //公有成员,外部可以访问
            double breadth;
            double length;    
    };
     
    int main()
    {
        area area1;
        area area2;
        double AREA;
        
        area1.breadth=3.45;   //通过.进行访问
        area1.length=3.1;
        
        area2.breadth=2.4;
        area2.length=5.0;
        
        AREA=area1.breadth*area1.length;
        cout << AREA <<endl;
        AREA=area2.breadth*area2.length;
        cout << AREA <<endl;
        
        return 0;
        
     }

私有(private)成员:类的外部是不可访问的,只有类和友元函数可以访问私有成员

    #include<iostream>
    using namespace std;
    class Box
    {
        public:
            double length;
            void setwidth(double wid);
            double getwidth(void);
            
        private:
            double width;
     };
     //成员函数定义
     double Box::getwidth(void)    
         {
         return width;
    }
     void Box::setwidth(double wid)
         {
         width =wid;
    }
     //程序的主函数
     int main()
     {
         Box box;
         //不使用成员函数设置长度
        box.length=10.0;
        cout << "Length of box :" << box.length << endl;
     
        //不使用成员函数设置宽度
        //box.width=10.0;       //Error:因为width是私有的
     
        box.setwidth(10.0);    //使用成员函数设置宽度
        cout << "width of box :" << box.getwidth() << endl;
        return 0;
     }

受保护(protected)成员:   保护成员在派生类(即子类)中是可访问的

    #include<iostream>
    using namespace std;
     
    class Box
    {
        protected:
            double width;
            
     } ;
     
    class SmallBox:Box //smallBox 是派生类
     {
         public:
             void setSmallwidth(double wid);
             double getSmallwidth(void);
             
      };
      //子类的成员函数
      double SmallBox::getSmallwidth(void)
      {
          return width;
      }
      void SmallBox::setSmallwidth(double wid)
      {
          width=wid;
          
       }
       //程序的主函数
    int main()
       {
           SmallBox box;
     
           //使用成员函数设置宽度
     
        box.setSmallwidth(5.0);
     
        cout << "width of box :" << box.getSmallwidth()  <<endl;
     
        return 0;
       }


---------------------
作者:gxgalaxy
来源:CSDN
原文:https://blog.csdn.net/gxgalaxy/article/details/81259083
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值