C++Note 类和对象 封装二(类的访问权限)(struct和class区别)

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

访问权限有三种

**1.public            公有权限      类内可以访问  类外可以访问

**2.protected       保护权限     类内可以访问  类外不可以访问     继承中 子类可以访问父类的保护内容

**3.private           私有权限     类内可以访问  类外不可以访问      继承中 子类不可以访问父类的私有内容

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 //三种权限     
 5 //public:类内类外都可以访问
 6 //protected:类内可以访问 类外不可以访问  继承中 子类可以访问父类的保护内容
 7 //private:类内可以访问 类外不可以访问    继承中 子类不可以访问父类的私有内容
 8 class Person
 9 {
10 public:
11     //公共权限
12     string m_Name;//姓名
13 protected:
14     //保护权限
15     string m_Car;//汽车
16 private:
17     //私有权限
18     int m_Passward;//密码
19 public:
20     void func()
21     {
22         m_Name = "name";
23         m_Car = "car";
24         m_Passward = 123;
25     }
26 };
27 int main() 
28 {
29     Person p1;
30     p1.m_Name = "name1";  
31     //m_Car  m_Passward 在类外访问不到
32     system("pause");
33     return 0;
34 }
复制代码

struct和class区别:

struct  默认权限为公共

class  默认权限为私有

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 
 4 class C1
 5 {
 6     int m_A;//默认权限为私有
 7 };
 8 struct C2
 9 {
10     int m_B;//默认权限为公共
11 };
12 
13 int main() 
14 {
15     C1 c1;//class c1
16     //c1.m_A = 10;//私有无法访问
17     C2 c2;//struct c2
18     c2.m_B = 100;//公共 可以访问
19     system("pause");
20     return 0;
21 }
复制代码

 

posted on   廿陆  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示