成员访问权限

成员访问权限、继承方式有3种:

  1. public:公共的,任何地方都可以访问(struct默认)
  2. protected:子类内部,当前类内部都可以访问
  3. private:私有的,只有当前类内部可以访问(class默认)
#include<iostream>
using namespace std;

//访问权限不影响内存布局
struct Person{
private:
	int m_age;
public:
	void run() {

	}
};

struct Student :public Person{
	void study() {

	}
};

struct GoodStudent : public Student{
	void work() {
		//m_age = 10;//子类内部访问父类成员的权限,是以下两项中权限最小的那个:
		//【1、成员变量本身权限   2、上一级父类的继承方式】
	}
};

int mian() {

	GoodStudent gs;
	//gs.m_age = 10;//

	getchar();
	return 0;
}
C++中,类成员有三种访问权限控制符:`public`, `private`, 和 `protected`。它们决定了类的数据成员和函数成员可以在哪里以及如何被访问。 ### 1. public(公共) 声明为 `public` 的成员可以被程序中的任何部分直接访问。 - **数据成员** 可以自由地读取和修改。 - **成员函数** 可以由该类的对象、派生类对象或者其他外部代码调用。 ```cpp class Example { public: int pubVar; // 公共变量 void setPub(int x) { pubVar = x; } // 公共函数 }; ``` ### 2. private(私有) 声明为 `private` 的成员只能在这个类内部的成员函数或友元函数中使用,外界无法直接访问这些成员。 - 这有助于隐藏实现细节并保护数据的安全性和完整性。 ```cpp class Example { private: int privVar; void setPriv() {} // 私有函数 }; ``` ### 3. protected(受保护) 当一个成员被标记为 `protected` 时,在其所属类及其所有衍生类内它是可见并且可用;但是对其他非继承自此类的地方而言它仍然是不可见且不能访问的。 - 它常用于让子类能够共享某些功能而不对外公开这些信息。 ```cpp class BaseClass { protected: int protVar; }; class Derived : public BaseClass { public: void accessProtectedMember() { cout << "Protected Member Value:" << this->protVar << endl; } }; ``` 通过合理运用这三者之间的差异特性,我们可以设计出既安全又具有良好结构特性的应用程序组件模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值