由C++中的派生类想开去

class Base

 {

     public:

        virtual void func(){cout<<"Base"<<endl;}

 };


 class Derived: Base

 {

    private:

       virtual void func(){cout<<"Derived"<<endl;}

 };


 int main()

 {

     Base *b = new Derived();

     b->func();

 }


实际调用为Derived::func();

请问这种以基类指针访问权限为准的设计有什么好处,是否破坏了派生类的访问机制? 
http://bbs.csdn.net/topics/210042197

 

           学习中想起来自己好像看过这些东西,所以回同学这些东西;

暂且不管其他啊。群里的那个例子让我想到有个应用方向。也就是,楼主所说的好处:假如Base下面的每个子类都是不同公司的业务实现。一般甲方公司的框架和框架下面的业务实现有时候会交给其他乙方公司来做,不同乙方公司会按照甲方的框架来具体实现,我们new了哪一个派生类就会去实例化哪一个乙方公司,这样的话以后就会很方便了。一旦有新的乙方公司来做业务实现的时候(框架一般是不会经常变动的),如果代码写的好的话,我们只需要去修改new后面的类名就可以了。想用哪个公司的就用那个公司的。

18:37:52
sunny 2014/8/5 18:37:52

楼主的代码明显是学习当中,遇到了非要纠结个半死才痛快。。。一般虚函数直接用来做接口~~哪有这样的。。。

嗯~忘过路大神多指教。。

 

转载于:https://my.oschina.net/sunnyandjj/blog/298323

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值