2015-02-26

昨天看了类型的转换,几天自然就到c++的继承了,说起c++继承还真的和之前的java不太一样啊,但是其实总体的风格来说还是大体相同的,都体现出了代码的重用。今天看了类和类之间的关系一共有几种,继承的三种方式,多继承,虚基类。

老样子我们一个一个的说,先说类与类之间的关系,

包含关系,一个类部分的使用另一个类,继承关系,就算这三个吧,这个不是重点,我们往下走。

继承分为三种:公有继承,私有继承,保护继承。这三种的区别就是子类继承父类后,父类的保护成员变量和公有成员变量会在子类中编程什么样。

先说公有继承,其实学过java的就知道,这个就是java的普通继承,没学过java的可以认为公有继承就是父类的protected属性的变量,public的属性的变量原来是什么样,现在继承过来还是什么样。

保护集成就是将父类的protected属性变量和public变量全都在子类继承之后子类里变成保护的。

私有继承就是将弗雷德protected属性变量和public变量全都在子类继承后变成私有的变量。

这三种继承方式的共同点就是都继承不了父类的私有变量,具体怎么实战,望大家网上多多搜索,我也只能暂时起到一个启示的作用。

多继承,顾名思义,多继承就是一个类可以继承很多个类,这样一多继承,有些事就不那么简单了,比如有个B类,B1,B2类都继承B类,B12类继承B1,B2类,这个时候B12就是一个多继承,因为他既继承了B1类,又继承了B2类,当B1和B2还都有个方法名称一样的时候,我们还要避免二义行,要强调调用的是哪个父类的哪个函数或者变量。

关于虚基类,我有图,大家可以看

下面C是没用虚基类的,在内存里有两份

下面C是用虚基类的,在内存里有一份

如果不用虚基类的话那么,在内存里C对象会有两份,如果用了虚基类就会只有一份。

几天还特意看了看复杂的类型。就是指向指针的数组,一维数组每一个是一个指向堆空间的指针,二维数组每一个是指向一堆空间的指针,一个二级指针,指向一个堆空间的二维数组,这个二维数组每个元素又是一个指向具体对象的指针。

今天就太晚了,一会儿去刷牙,睡觉了,明天继续,各位看官也早点睡吧

时间: 2024-10-18 00:06:01

2015-02-26的相关文章

2015/02/26 – table-cell 下的 padding 坑

描述:我要实现一个 fluid layout, 左右结构(左定宽.右100%填充:右边子容器是上下结构,上结构定高,下结构100%填充). 思路:用 table-cell 实现左右(没有用 float),右边的上下结构采用 box-sizing: border-box;(即 padding-top + height, padding-top 的值就是 上结构的定高) 进坑:由于用了 table-cell 进行父元素的布局,在浏览器调试中看 padding-top + height = 父元素高,

iOS 学习笔记 二 (2015.02.26)

How To Use Git Source Control with Xcode in iOS 6 If you're new here, you may want to subscribe to my RSS feed or follow me on Twitter. Thanks for visiting! How to use Git source control with Xcode This tutorial is by Malek Trabelsi, a passionate iOS

##老版本项目->Xcode7+Swift2.0项目改动可能遇到的问题 > 维护者:PMST > 最后更新日期:2015.6.26 > 版本号:V1.0.0 > Note:倘若

老版本项目->Xcode7+Swift2.0项目改动可能遇到的问题 维护者:PMST 最后更新日期:2015.6.26 版本号:V1.0.0 Note:倘若你的项目转换到swift2.0语法,或多或少会遇到一些问题,该文档因此诞生.鼓励大家一起参与进来,帮助国内Swift的开发和维护. github项目所属:swift2.0_PlaygroundStudyNote 团队博客地址:Optional Swift 个人博客地址:Colourful Code Error Information How

周日学习内容(2015.7.26)

周日学习内容(2015.7.26) 一.流程控制初步 流程控制结构:顺序结构,选择结构,循环结构. 二.逻辑运算符 &&:逻辑与(表达式1&&表达式2 同真为真,其余为假). ||:逻辑或(表达式1&&表达式2 有真必真,其余为假). !:逻辑非(取反) 三.if-else选择结构 语法: if(){ }else{ } 四. java中产生随机数方法 范围:从0到1,能取到0,但是取不到1 五.多重if选择结构 if(表达式1){ 语句1 }else if(

【谜客帝国】第18届枫岩风羽·骆岩2006年旧作谜会(2015.3.26)

[谜客帝国]第18届枫岩风羽·骆岩2006年旧作谜会(2015.3.26)主持:瓷     计分:晶莹1.“虚怀应无波”  (面积单位)  平方寸 [谜面出自现代抱朴子诗<感怀一首>]2.拂晓明霞笼禁宫  (五字唐诗目) 早发白帝城3.“樽前白首翁”      (三字食品) 干粉丝 [谜面出自唐代白居易诗<筝>]4.拖延发言心不怪 (外国节日)  圣诞5.“不断尘中一柱烟” (三字口语) 土老冒6.润之动身巧装扮  (四字影视用语) 毛发化妆7.“鸟鸣山馆客思乡”(四字广告词) 

MVC,MVP 和 MVVM 的图示 引用地址(http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html)

分类: 开发者手册 MVC,MVP 和 MVVM 的图示 作者: 阮一峰 日期: 2015年2月 1日 复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了. 昨天晚上,我读了<Scaling Isomorphic Javascript Code>,突然意识到,它们的区别非常简单.我用几段话,就可以说清. (题图:

启动其他APK的Activity方法 (转至http://www.cnblogs.com/lijunamneg/archive/2013/02/26/2934060.html)

有两个app,分别叫做App1和App2.App1包含两个Activity,分别叫做App1_A和App1_B.其中App1_A是入口Activity.也就是App1_A设置intent-filter,action为<action android:name="android.intent.action.MAIN" />App2只有一个Activity,叫做App2_A.现在在App2_A中通过startActivity启动App1_A是没问题的.但是启动App1_B的时候报

我关注的一周技术动态2015.7.26

容器技术 1. Docker持续部署图文详解 http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=208550161&idx=1&sn=e1bdb3d219c110c79850f43c0fe1d297&key=c76941211a49ab5870652c78bff255aa29b56abb1fbd503a3584dea04af2275000a4e796fee253975115f33b11f203b1&ascene

去小机化思维(一)--【软件和信息服务】2015.02

这几年去IOE已经成为IT界最热门的词汇,特别是最近对国产化率的一些指导性意见出台,更是让很多人热血沸腾,大家觉得国产化元年到来了.很多文章都已经探讨了去"O"的难点和去"E"的高要求,几乎大家一致认为去"I"(也就是将IBM的小型机替换成x86服务器,本文称之为"去小机化")最成熟,可以立马上项目操作.去小机化是否也有难点呢??咱们来认真梳理一下去小机化的过程,姑且称之为去小机化思维. 去小机化包括两种常见的场景:系统新建和

2018/02/26 模拟赛

第一题排序暴力 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<string> 5 #include<algorithm> 6 #include<cmath> 7 #include<utility> 8 #include<stdio.h> 9 #include<cstdlib> 10 #include<