C++ 02 —— 访问权限

本文介绍C++中类的访问控制概念,包括private、public和protected成员的区别,并解释了何时将成员函数设置为private。同时探讨了友元函数的概念及其如何允许非成员函数访问类的私有成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码

// 02AccessControl.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"

class Test
{
//通常,将data member标注成private,外部不能访问
//private可以省略,class内部默认为private,但也可以明确写出,增强程序可读性
//struct 默认public,class 默认private
private:
    int i;
    int j;
//通常,function member标注成public,及供外部调用的接口
public:
    Test(){}
    void SetI(int ai){i = ai;}
};

//思考1. function member什么时候会写成private?
//思考2. 考虑继承关系,子类可以访问父类的private成员吗?如果不行,应该用哪个访问控制形式?
//思考3. 什么是friend?


int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    return 0;
}

思考1:function member什么时候会写成private?

当只在本类使用的时候

思考2:考虑继承关系,子类可以访问父类的private成员吗?如果不行,应该用哪个访问控制形式?

不能。protect

思考3:什么是friend?

友元函数的特点是能够访问类中的私有成员的非成员函数。友元是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不具有相互性,只具有单项性。友元不能被继承。友元不具有传递性。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值