07 2016 档案
摘要:首先,先来看一下十进制的数:a = 234 以此类推,一个二进制的数1101对2求余,对2整除是不是可以得到二进制数最后一位,去除二进制最后一位呢? 答案在理论上是肯定的。 but,程序写的时候怎么定义类型来存储一个二进制数呢?其实是: int b = 1101 wait,这不是十进制数 1101
阅读全文
摘要:解耦合 和 模块的划分 c++没有接口的概念 但可以使用纯虚函数(抽象类)实现接口的功能 纯虚函数和抽象类纯虚函数是一个在基类中说明的虚函数,在基类中没有定义,要求任何派生类都定义自己的版本纯虚函数为各派生类提供一个公共界面(接口的封装和设计,软件的模块功能更划分) 纯虚函数说明形式: virtua
阅读全文
摘要:封装、继承、多态是C++的三大利器。 多态性是设计模式的基础: 需求:根据实际对象类型来判断重写函数的调用。父类指针 指向父类对象 调用父类中定义的函数;父类指针 指向子类对象 调用子类中定义的重写函数。 多态:同样的调用语句多种不同的表现形态 实现方式:基类中 函数 声明为 virtual。子类中
阅读全文
摘要:继承:1、子类拥有父类的所有成员变量(属性)和成员函数(方法)2、子类是一种特殊的父类3、子类对象可以当父类对象使用4、子类可以拥有父类没有的方法和属性 继承方式一般都按照public继承; 单个类的访问(属性和方法)控制:public:类内,类外均可用private:类内protected:类内,
阅读全文
摘要:运算符重载本质:函数调用 实现方法:将基本类型进行封装,提供一个接口。 complex C4 = C1 + C2;重写 operator+这个函数即可。(返回值是complex) 实现函数重载步骤:1、承认操作符重载是一个函数,写出函数名称2、根据操作数,写出函数参数3、确定返回值(引用,指针,元素
阅读全文
摘要:网上比较经典的总结: 什么函数都有可能失败,构造函数也不另外,比如new一个对象或空间不成功。当构造函数失败的时候,其实很多时候我们不想这个对象被继续生成,这个时候就可以在构造函数里面抛出异常。C++规定构造函数抛出异常之后,对象将不被创建,析构函数也不会被执行,但已经创建成功的部分(比如一个类成员
阅读全文
摘要:1、面向对象主要涉及 构造函数、析构函数、虚函数、继承、多态等。 2、对各种支持 的底层实现机制 c语言中,数据 和 处理数据的操作(函数) 是分开来声明,即语言本身并没有支持 “数据和函数”的关联性。 在C++中,通过抽象数据类型(abstract data type, ADT),在类中定义数据和
阅读全文
摘要:拷贝构造函数为什么要使用引用而不是值传递??? CExample aaa(2); CExample bbb(3); assignment operator // bbb = aaa; copy constructor // CExample ccc = aaa; bbb对象已经实例化了,不需要构造,
阅读全文
摘要:malloc, free 是c的库函数,只会分配内存大小,不会调用构造函数,析构函数 new, delete C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数 在执行基本类型,数组(其中存储的是基本类型)操作时,可以混用! int *p = new int; p = 1; d
阅读全文
摘要:最近学习了chineseChess的Qt实现,把一些东西总结一下: 实现功能: 1.人人对战 2.人机对战 3.网络版 一、基础性工作:(人人对战) 1、棋盘和棋子的绘制(QPinter,drawLine(QPoint(0,0),QPoint(0,9))): 棋盘: 10行,9列,中间有楚河汉界;九
阅读全文

浙公网安备 33010602011771号