首页 > 编程语言 > 详细

C++子类继承基类的私有成员吗?

时间:2020-09-28 21:37:06      阅读:47      评论:0      收藏:0      [点我收藏+]

类的大小

类的大小受那些因素影响不是该篇博客的目的,读者自行查阅。

子类继承父类的私有变量吗?

#include <iostream>
#include<typeinfo>
using namespace std;
class parent
{
private:
	int i;
protected:
	int x;
public:
	parent() { x = 0; i = 0; }
	void change() { x++; i++; }
	void display();
};
class son :public parent
{
public:
	son() = default;
	void modify();
};
void parent::display() {
	cout << "x=" << x << endl;
	cout << "i=" << i << endl;
}
void son::modify() { x++; }

int main()
{
	son A; parent B;
	//如果A继承了B的私有变量,A的大小就不仅仅是int x;的大小
	cout << sizeof(A) << endl;//大小为8所以继承了私有成员变量
        A.display(); //能访问到i
	return 0;
}

可以运行发现子类的大小依旧是8而不是4,所以子类继承了基类的私有成员只是无法通过自己的权限去访问父类的私有成员

C++子类继承基类的私有成员吗?

原文:https://www.cnblogs.com/Liberavi/p/13746228.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!