gpt4 book ai didi

c++ - 继承是否会破坏 C++ 中的封装

转载 作者:太空狗 更新时间:2023-10-29 21:49:08 24 4
gpt4 key购买 nike

我读到(Scott Myers)继承打破了封装。当数据/内部方法是私有(private)的(不 protected )时,封装是否被破坏?

例如

class Vehicle
{
int color;

public:
void set_color();
int get_color();
}


class Car: public Vehicle
{
public:
void change_tires();
}

我可以在不破坏 Car 的情况下更改 Vehicle 的内部结构,对吗?

最佳答案

像“继承打破封装”这样的短语经常被断章取义。

这句话指的是被继承的虚拟接口(interface)现在没有被封装。实际上,继承意味着某些隐藏的东西现在暴露出来。 protected 成员和virtual private 成员都对派生类开放。

virtual private 成员仍然隐藏。

关于c++ - 继承是否会破坏 C++ 中的封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com