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 2023-06-12 16:07  廿陆  阅读(15)  评论(0)    收藏  举报

导航