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

类的大小

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

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

#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,所以子类继承了基类的私有成员只是无法通过自己的权限去访问父类的私有成员

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

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/203421

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午9:29
下一篇 2023年2月12日 下午9:30

相关推荐