C++之类和对象的访问权限

1. 访问权限解释

类在设计时,可以把属性和行为放在不同的权限下,加以控制

1.1 三种访问权限

  1. public公共权限;类内可以访问 类外可以访问
  2. protected 保护权限;类内可以访问 ;类外不可以访问
  3. private 私有权限;类内可以访问 类外不可以访问

2. 代码示例

2.1 主程序

#include<iostream>
using namespace std;

//定义一个person类
class person
{
  //公共属性
  public:
    string name;
  //保护权限
  protected:
    int num;
  //私有属性
  private:
    int password;
  public: //如果为private或protected则主函数里不能调用这个函数
    void student_info()
    {
      name = "lily";
      num = 2021411;
      password = 123456;
    }
};

//主函数
int main()
{
  person s;
  s.name = "kangkang";
  //s.num = 123456;  //因为是保护权限所以不可以赋值
  //s.password = 2021411;  //因为是私有权限所以不可以赋值
  s.student_info();
  //cout << "student name: " << s.name << "student id" << s.num << "passwd" << s.password << endl;
  cout << "student name: " << s.name << endl;
  
  // return 0当主函数正常结束时,得到的函数值为0,当执行main函数过程中出现异常或错误时,函数值为一个非0的整数。程序员可以利用操作指令检查main函数的返回值,从而判断main函数已正常执行,并据此决定以后的操作
  return 0;

}

2.2 程序运行结果

student name: lily

Process returned 0 (0x0)   execution time : 0.016 s
Press any key to continue.

2.3 测试

测试访问privateprotected的变量

2.3.1 测试程序

//主函数
int main()
{
  person s;
  s.name = "kangkang";
  //因为是保护权限所以不可以赋值
  s.num = 123456;  
  //因为是私有权限所以不可以赋值
  s.password = 2021411;  
  s.student_info();
  //因为是保护权限所以不可以访问;因为是私有权限所以不可以访问
  cout << "student name: " << s.name << "student id" << s.num << "passwd" << s.password << endl;
 //
  return 0;

2.3.2 运行结果分析

//output
person::num' is protected within this context|
person::password' is private within this context|

  1. 从上面的报错可以看到privateprotected的变量无法被赋值和调用

3. 总结

  1. 在主函数里面,类型为privateprotected变量无法被赋值和调用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值