
C++语言特性
文章平均质量分 81
深入剖析C++底层语言的特性以及应用场景
萧炎_
曾任职于柳叶刀机器人,现任中科院物理研究所软件工程师
展开
-
C++高级程序员必经之路-继承(初级篇)
实际上不是,在继承中,如果子类和父类出现重名方法,那么会优先调用子类的方法。在实际的开发中,我们一般不会这样去写,因为C++提供了更变态的特性,那就是多态,多态可以使接口进行完全覆盖,也可以让方法在合适的时机被调用,完全不需要显示指定类名限定。那么如果我稍稍修改一下呢?答案我会在下次高级篇进行公布,好的,这次的内容就到此结束了,希望各位知其然知其所以然,我是程序员萧炎,一位资深C++程序员,我们下次再见。那么序言就不介绍了,不太理解继承概念的可以看看我之前写的继承入门篇,好的,我们废话不多说,直接发车。原创 2025-01-06 17:18:11 · 284 阅读 · 0 评论 -
C/C++高级程序员必经之路-继承(入门篇)
以上代码是一个很基础的继承例子,这个例子是儿子继承了父亲的资产,他自己也有一定财富,所以按照现实角度一般情况来说,Son类可以使用父亲给他的钱(注意:我这里的继承使用了public),所以我们就可以使用子类对象Son的实例来调用getMoney()函数,以此来查看和使用你老爹的资产。那么在C++的继承中,这种情况是怎么表示呢?那么使用继承就可以在一定程度上解决以上问题,由于继承并没有想的那么简单,其中菱形继承,虚继承,多态等都是高阶用法,入门篇就说继承的基本用法,好了话不多说,赶紧发车。原创 2024-07-23 14:59:00 · 675 阅读 · 2 评论 -
C++11中强制类型转化详解(下)
我们都知道,C++面向对象编程中,最核心的部分就是基类和派生类之间的爱恨情仇,比如最基本的继承,还有多继承,虚继承,多态等特性,其中最重要也使用最广泛的也是多态,了解过架构的朋友都知道23种设计模式中的常用设计模式(除了单例),大部分都需要使用多态来完成,最根本的原因是因为派生类可以转化为父类进行使用,再由父类转化为需要的派生类,这样就能大大降低代码的耦合度,提高内聚性。是不是很神奇,只要使用了我们的动态转化进行内部处理,就可以轻易解决这个问题,会让多态的应用场景变得更加的方便。当有Cat的时候怎么做呢?原创 2024-07-05 17:02:42 · 509 阅读 · 0 评论 -
C++11中强制类型转化详解(上)
显示转化就是强制类型转化,上面我们将不同的指针类型和常量整型转化为了void*地址,这是隐式转化做不到的。第一种:static_cast(转化对象)静态类型转化(温和类型转化),这种类型转化是比较安全的转化方式,C语言的隐式转化都可以使用static_cast进行替代,C语言进行隐式转化时会容易丢失数据,如果程序员不知道的情况下,这个问题也是比较严重的。所以C++11增加了四种强制类型转化方式供开发时使用,其中两种转化方式涵盖了C语言的所有转化,包括强制类型转化以及隐式转化等。原创 2024-06-18 09:08:57 · 2411 阅读 · 0 评论