- 博客(10)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
原创 C++基础之多态性与虚函数
(1)多态定义:计算机在编译时或运行时,根据我们实际的代码自动调用不同的函数的能力为多态。(2)多态分类:(编译时)静态多态:前期绑定:a)函数重载 b)模板(运行时)动态多态:(默认)后期绑定:根据指针的实际数据类型自动调用不同函数(功能)(3)动态多态实现原理:1>子类继承了所有父类的产品 2> virt
2017-08-15 22:34:56 525
原创 设计模式学习笔记(Build模式)
一、Build模式的作用通过Build模式可以利用同一个创建过程创建出不同的对象,即同样的构建过程可以创建不同的表示。并且将具体的构建过程向客户隐藏。 Build模式的参与者有Builder、ConcreteBuild、Dirctor以及Product。构建指的就是生产一个产品的步骤(Dirctor),表示就是每个产品部分的具体实现(ConcreteBuild),通过Director封装步
2017-08-13 13:41:18 393
原创 C++基础之类的虚继承
一、多重继承:很少用,现代高级语言弃用多继承1、基本语法:class D:public A,private B,protected C{类D新增加的成员}2、二义性:A类中有成员a,B类中有成员a,D类继承过来以后,a会出现二义性问题。解决办法:1>对于重名情况,添加作用域,c.a=100;c.A::a=100;(这种写法)2>对与基类中的成员由多份存储变为单一存储
2017-08-06 11:05:43 450
原创 C++基础之类继承1
一、C++继承(1)继承是多根继承(2)子类继承所有父类的成员,但子类是否能访问父类成员需看父类成员关键字。(3)继承又称为拓展,子类的指针可以安全的赋给父类的指针。而父类的指针不能直接赋给子类指针(可以使用强制转换[非安全转换,可能成功可能失败],将父类指针赋给子类指针)(4)继承分为public、protected、private三种,对子类成员可见性产生影响。(5
2017-08-06 10:43:25 341
原创 C++基础之面向对象(二)
一、友元友元函数:1、一般在操作符重载时会使用,其他情况很少使用。2、在A类中声明函数B是A类的友元函数,则函数B可以访问A的数据成员。3、友元函数至少有一个参数(这个参数为声明类的引用)(因为:全局函数是没有this指针的,我们只能通过参数来确定访问的是那个对象的数据成员)如果全局函数找不到this指针(没有类的引用作为函数参数),则只能访问静态成员变量和静态成员函数。
2017-08-03 20:32:09 264
原创 设计模式学习笔记(原型模式)
一、原型模式的作用?1、基本就是你需要从A的实例得到一份与A内容相同,但是又互不干扰的实例的话,就需要使用原型模式。2、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这个其实和C++的拷贝构造函数的作用是相似的(但不相同),实际上就是动态抽取 当前对象 运行时 的 状态。3、当然有的时候,如果我们并不需要基于现有的对象复制新的对象,或者我们需要的就
2017-08-02 21:21:09 778
原创 C++基础之面向对象(一)
一、对象本身是占内存的,但是类是对象的描述(相当于类型int),不占内存二、类中实现的函数默认为inline函数但如果类中只是函数的声明,而函数的实现在类外。则若需要使函数为inline函数,需要自己在函数名前先加inline 三、计算机对所有函数在程序区中都只有一份拷贝,此外静态区变量在内存中也只有一份拷贝,内存地址是固定的四、this指针所有
2017-08-01 20:29:57 288
原创 C++基础之结构体
1、结构体变量名不是地址,不能单独使用(结构体变量的地址为第一个成员变量的地址)。2、结构体变量开放了内存区,存在栈区。3、结构体中是有拷贝构造函数的,结构体变量默认是深拷贝(又在内存区中开辟了一段内存)【结构体变量名作为形参和结构体变量实参之间是深拷贝】4、typedef struct student{int id;char *name;}student; /
2017-08-01 16:31:36 2196
原创 常用位运算函数源码解析
计算机中数是按补码形式存储的 //判断该整数是否是2的整数次方 2的整数次方特点是转换为二进制数,1、只在一个位置上有一个1(且这个位置不是最低位)bool IsPowerOfTwo (unsigned int value) { return (value > 0) && ((value & (value - 1)) == 0); } bool IsPow
2017-08-01 12:01:40 456
转载 计算机为什么采用补码的形式存储数据?
在计算机内部,所有信息都是用二进制数串的形式表示的。整数通常都有正负之分,计算机中的整数分为无符号的和带符号的。无符号的整数用来表示0和正整数,带符号的证书可以表示所有的整数。由于计算机中符号和数字一样,都必须用二进制数串来表示,因此,正负号也必须用0、1来表示。通常我们用最高的有效位来表示数的符号(当用8位来表示一个整数时,第8位即为最高有效位,当用16位来表示一个整数时,第16位即为最高有效位
2017-08-01 11:54:13 2694 1
机器学习为什么熵可以衡量数据集划分的优劣?
2018-12-05
MFC中listctrl控件中的横向滚动条怎样去掉?
2017-07-22
请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢?
2016-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人