我是靠谱客的博主 喜悦楼房,最近开发中收集的这篇文章主要介绍类访问权限之间的关系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

public
翻译中文公开的意思
本class的所有成员都可用访问
子类的成员可用访问
非成员可用访问

#include <iostream>
#include <windows.h>
#include <tchar.h>
using namespace std;

//基类
class A
{
public:
	A(){cout<<"A构造函数执行中"<<endl;};
	~A(){cout<<"A析构函数执行中"<<endl;}
	void printf(void){cout<<x<<endl<<y<<endl;};
	void SetVal(int a,int b){x=a;y=b;}
	//非成员可用访问
	static void printTest(void){cout<<"测试一下"<<endl;}
protected:
	int x;
private:
	int y;
};

//子类
class B:public A 
{
public:
	B(){cout<<"B构造函数执行中"<<endl;}
	~B(){cout<<"B析构执行中"<<endl;}
};


int main(void)
{
	//基类
	A a;
	a.SetVal(1,2);
	a.printf();
	cout<<"------------------------------"<<endl;

	//子类
	B b;
	b.SetVal(2,3);
	b.printf();
	cout<<"------------------------------"<<endl;

	A::printTest(); //非成员可用访问
	cout<<endl;
	return 0;
}
/*
2015年3月3日9:49:03
程序执行结果如下:
A构造函数执行中
1
2
------------------------------
A构造函数执行中
B构造函数执行中
2
3
------------------------------
测试一下

B析构执行中
A析构函数执行中
A析构函数执行中
请按任意键继续. . .
*/

 

 


protected
翻译成中文保护的意思
本类的所有成员可用访问
子类的所有成员可用访问
非成员不能访问

标识符protected 与 private类似,它们的唯一区别在继承时才表现出来。当定义一个子类的时候,基类的protected 成员可以被子类的其它成员所使用,然而private 成员就不可以。

 

 

protected
翻译成中文保护的意思
本类的所有成员可用访问
子类的所有成员可用访问
非成员不能访问

标识符protected 与 private类似,它们的唯一区别在继承时才表现出来。当定义一个子类的时候,基类的protected 成员可以被子类的其它成员所使用,然而private 成员就不可以。

#include <iostream>
#include <windows.h>
#include <tchar.h>
using namespace std;

//基类
class A
{
public:
	A(){cout<<"A构造函数执行中"<<endl;};
	~A(){cout<<"A析构函数执行中"<<endl;}
	void printf(void){cout<<x<<endl<<y<<endl;};
	void SetVal(int a,int b){x=a;y=b;}
protected:
	void printTest(void){cout<<"测试一下"<<endl;}
	int x;
private:
	int y;
};

//子类
class B:public A 
{
public:
	B(){cout<<"B构造函数执行中"<<endl;}
	~B(){cout<<"B析构执行中"<<endl;}
	void Test(void){printTest();}
};


int main(void)
{
	//基类
	A a;
	a.SetVal(1,2);
	a.printf();
	cout<<"------------------------------"<<endl;

	//子类
	B b;
	b.SetVal(2,3);
	b.printf();
	//b.printTest(); //只能在子类的成员函数中访问基类的protected成员
	b.Test();        //在子类的成员函数,调用基类protected的成员printTest()函数
	cout<<"------------------------------"<<endl;
	return 0;
}
/*
2015年3月3日9:50:03
程序执行结果如下:
A构造函数执行中
1
2
------------------------------
A构造函数执行中
B构造函数执行中
2
3
测试一下
------------------------------
B析构执行中
A析构函数执行中
A析构函数执行中
请按任意键继续. . .
*/

private
翻译中文私有的意思
本class的成员可用访问
子类的成员不能访问
非成员不能访问

标识符protected 与 private类似,它们的唯一区别在继承时才表现出来。当定义一个子类的时候,基类的protected 成员可以被子类的其它成员所使用,然而private 成员就不可以。

 

 

最后

以上就是喜悦楼房为你收集整理的类访问权限之间的关系的全部内容,希望文章能够帮你解决类访问权限之间的关系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部