C++ 02 —— 访问权限

来源:互联网 发布:飞鸽传书网络连接失败 编辑:程序博客网 时间:2024/06/14 17:30

源码

// 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 默认privateprivate:    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。友元不具有相互性,只具有单项性。友元不能被继承。友元不具有传递性。