自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 References to const

If we want to bind a reference to an object of a const type. To do so we must use a reference to const.const int a=1; const int &r=a;error: int &r1=a;const references is a reference to const? Techn

2016-08-11 19:38:30 293

原创 A pointer to an object & A pointer one past the end of a different object

In C++ primer, chapter 2, we can find this sentence "it is possible for a pointer to an object and a pointer one past the end of a different object to hold the same address."What exactally d

2016-08-10 21:31:48 604

原创 符号计算

一、符号常数、符号数字Generally,speaking,在有限长数字计算机中,不能始终保持完全准确,但有时我们又需要完全准确,此时就出现了符号计算,为区别于一般数字的记录,MATLAB中采用符号数字。对此,有固定的格式: 1、sym(Num) 采用精准类数创建精准符号数字 sc=sym(Num) (1)优先采用普通浮点数Num在sym(Num)命令作用下,创建符号数,if输入的是

2016-08-10 14:12:48 3036

原创 An out-of-range value

1.If we assign an out-of-range value to an object of unsigned type, the result is the remainder of the modulo the number of values the target type can hold.2.If we assign an out-of-range value to an

2016-07-23 20:17:47 687

原创 Decide which type to use

1.use an unsigned type when you know that the values cannot be negative.2.use int for integer arithmatic. If the data is larger than the minimum guaranteed size of an int, that use long long3.Do n

2016-07-23 19:31:53 255

转载 char & unsigned char & signed char

一、开始今天有一个困扰的问题,就是char与signed char, unsigned char这三者的区别。二、三者之间1.ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char。而不是像short、int一样只有两种(int默认就是unsigned int).2.三者都占1个字节3.signed char

2016-07-23 19:04:06 361

原创 Using file redirection

(Windows OS下)  Example.cpp#includeusing namespace std;int main(){int a;cin>>a;cout<<a<<endl;return 0;}注意要在 .exe 文件目录下输入Example.exeoutfile.txt就可以了,>表示数据输出到outfile.txt

2016-07-16 20:44:24 238

原创 How to enter an End-Of-File from the keyboard

Windows: Ctrl+z EnterUNIX\Mac: Ctrl+d Enter

2016-07-15 16:32:19 236

原创 缓冲区

1、What is缓冲区(buffer)?A buffer is a region of a physical memory storage.It's used to store data temporarily.It has tow kinds. One is called input buffer and the others is called output bu

2016-07-12 17:05:57 264

转载 cerr cout clog

cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出clog(缓冲标准错误)--------有缓冲,缓冲区满时输出cout-------------------------标准输出三个都是ostream类定义的输出流对象,1.cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲

2016-07-12 16:07:38 213

原创 文件的大小与内存空间

一个文件的大小就是其实际内容具有的字节数,,以Byte为衡量单位,只要内容不发生变化,就不会改变。一个文件的所占空间是由每个磁盘的簇与文件大小决定的,对于每一个不同的磁盘,它会有不同的簇(分配单元\Allucation\Cluster),而具体计算所占空间的公式为簇数=floor(文件大小/每个分配单元大小)+1所占空间=簇数*每个分配单元大小那么我们该如何知道每一

2016-07-07 23:00:01 1294

原创 函数模板与类模板

使代码具有通用性,不受数据类型的影响,并且可以自动适应数据类型的变化,这被称为参数化程序设计,实现参数化多态性。what is 参数化多态性? 将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。一、函数模板 编写模板使代码适用于不同数据类型。 只需编写一次,然后基于调用函数时提供的参数类型,C++编译器将自动产生相应的函数来正确地处理该类型的数据。syntax: t

2016-06-07 19:25:47 353

原创 纯虚函数与抽象类

一、纯虚函数 在基类中声明的虚函数在各派生类中根据实际需要给出各自定义。 syntax: virtual returnType functionName(参数表)=0;声明为纯虚函数后,基类中就可以不再给出函数的实现部分,函数体由派生类给出。在基类中对纯虚函数定义的函数体的调用,必须通过“基类名::函数名(参数名)”的形式,if 将析构函数声明为纯虚函数,必须给出它的实现。纯虚函数没有函数体。

2016-06-06 20:29:36 363

原创 虚函数

虚函数是动态绑定的基础,虚函数必须是非静态的成员函数。根据赋值兼容机制,可以使用派生类的对象来代替基类的对象,但if用基类类型的指针指向派生类的对象时,访问到的只是从基类继承而来的同名成员,那么当我们要访问到派生类的同名成员时该怎么做呢?可以将基类中的同名成员声明为虚函数,这样就可以通过基类类型的指针,使不同派生类的不同对象产生不同的行为,从而实现运行过程的多态。一、一般虚函数 syntax:

2016-06-06 19:47:41 366

原创 运算符重载

运算符重载适度已有的运算符赋予多重含义,是同一个运算符作用于不同类型的数据是导致不同的行为。实际上是函数重载,把指定的运算符转换为对运算符函数的调用,将运算对象转换为运算符函数的实参。重载规则: 1)类属关系运算符“ . ”、成员指针运算符“ .* ”、作用域分辨符“::”、三目运算符“ ? ”不可重载; 2)overload后优先级和结合性不变; 3)overload不可改变原运算符的操作对

2016-06-05 23:10:07 322

原创 C++的多态性

what is 多态性? 多态是指同样的消息,被不同类型的对象接收时导致不同的行为。多态的分类: 1、专用多态 (1)重载多态 (2)强制多态2、通用多态 (1)包含多态 (2)参数多态多态的实现 1、编译时的多态 在编译的过程中进行了静态绑定工作 如overload,强制和参数多态 2、运行时的多态 在程序运行阶段完成动态绑定 如包含多态what is 绑定? 计算机程序

2016-06-04 21:23:44 260

原创 派生类成员的标识与访问

对派生类的成员按访问属性可以分为: 1)不可访问成员 从派生类基类的私有成员继承而来,派生类的对象模块没有办法访问。2)private成员 派生类内部可以访问,建立派生类对象模块无法访问,继续派生就变不可访问成员。3)protected成员 与2)相似 不同之处在于 继续派生就可以变成私有成员或保护成员。4)public成员 略一、作用域分辨符 1. 在不同的作用域声明的标识符存在

2016-06-02 19:06:06 639

原创 枚举与搜索

枚举法: 从可能的解的集合一一枚举各个元素,并根据给定条件判断 关键在于: 1)确定循环范围; 2)找出判断解的条件。搜索算法: 1) 深度优先搜索DFS 沿着搜索树遍历结点,尽可能搜索树的分支。 2)广度优先搜索BFS 每次搜索可以扩展的每一个节点,当一层每一个节点搜索完后,再搜索第一个可扩展节点的可扩展所有节点。盲目搜索&启发搜索

2016-06-01 23:19:47 906

原创 二分查找(binary search)

通过不断缩小解可能存在的范围,从而求得问题的最优解。 着重应用于有序数组或序列。关键在于用好right len left mid

2016-06-01 23:03:48 306

原创 分治

分而治之,把一个问题分解为多个小问题,逐个解决,再合并。1)问题缩小到一定程度就可以解决; 2)问题可以分解为若干相同的小问题; 3)小问题的解合并为原问题的解。各个问题之间一般是独立的。

2016-06-01 22:54:24 217

原创 派生类的构造和析构函数

因为派生类不继承基类的构造和析构函数,为了对派生类新增的成员初始化,或扫尾、清理,需要加入构造和析构函数。一、构造函数 派生类成员对象有所有基类的成员对象与派生类新增成员对象组成,在构造派生类的对象时,要对其所有成员对象初始化。为了完成这些工作必须添加新的构造函数,对新增加成员对象初始化,并通过调用基类构造函数,完成对不能直接访问的基类成员对象初始化。syntax:派生类名::派生类名(参数表):

2016-06-01 22:49:25 641

原创 R4 欧氏空间Schmidt正交化方法

#includeusing namespace std;class Euclidean{public: Euclidean(double x1 = 0, double x2 = 0, double x3 = 0, double x4 = 0) : x1(x1), x2(x2), x3(x3), x4(x4){} friend Euclidean operator-(Euclidea

2016-06-01 20:34:42 871

原创 初入ACM

1.#includecstdio>使用scanf与printf比cin与cout效率高2.可以只引用头文件,而不必应用两个头文件iostream与cstdio,不过不是每一个平台都适用,要查FAQ3.64位整型变量的输入(scanf)和输出(printf),在Linux下参数为%lld,而Windows下的参数d%I64d

2016-05-31 23:50:11 196

原创 类型兼容规则

what is it? 在需要基类对象的任何地方,都可以,使用公有派生类的对象来替代。(1)派生类对象可以隐含转换为基类对象,即用派生类对象从基类继承来的成员,逐个赋值给基类对象成员; (2)派生类对象也可以初始化基类对象的应用; (3)派生类对象地址可以隐含转换为指向基类的指针。在替换之后,派生类对象就可以作为基类对象使用,但只能使用从基类继承的成员。

2016-05-31 20:00:22 401

原创 访问控制属性

派生类对基类不同继承方式会改变派生类对基类成员的访问属性。对于访问方式可分为两种: 方法1.派生类的新增成员访问从基类继承的成员; 方法2.派生类的对象访问从基类继承的成员。一、公有继承 继承方式为公有继承。 基类的public成员和保护成员的访问属性在派生类中不变,而基类的私有成员不可直接访问。方法一可以访问public 与 protected,不可直接(就是可以间接,通过调用基类公有成员

2016-05-31 19:22:51 1229

原创 如何求最大质因数?

关于某群的入群要求:#includeusing namespace std;bool isPrime(long long a){ bool is = true; for (int i = 2; i*i <= a; i++) if (a%i == 0)is = false; return is;}int main(){ cout << "Enter a number:";

2016-05-31 18:23:19 1040

原创 生成派生类

1.吸收基类成员 将基类成员全盘吸收 ,派生类包含了除构造和析构函数之外所有成员。 (定义派生类后自动完成,无法干预)2.改造基类成员 1)基类成员访问控制问题,依靠派生类定义时的继承方式来控制。2)对基类数据或函数成员覆盖与隐藏。同名隐藏: 申明了一个与基类成员同名的新成员(if是成员函数则参数表必须相同,otherwise为重载),派生类新成员隐藏了外层同名成员。3.添加新的成员 加入

2016-05-31 15:53:10 528

原创 定义派生类

syntax:class 派生类名:继承方式 基类名1,继承方式 基类名2,···,继承方式 基类名n { 派生类成员声明; };我们可以看到在派生类定义的语法上有许多基类名,由此我们可以了解到,一个派生类可以有多个基类,这种情况称作多继承,if只有一个基类时,我们就把其称作单继承,还有直接参与派生出某基类成为直接基类,基类的基类甚至更高层称作间接基类。再有在每一个基

2016-05-31 15:36:48 2396

原创 what is 继承与派生

what is 继承与派生? 1)类的继承 新的类从已有的类得到已有的特性。2)类的派生 保持原有类特性,已原有类为基础产生新的类的过程。基类或父类<-派生类或子类

2016-05-31 15:15:48 240

原创 ACM水题 An easy task

AC code#includeusing namespace std;bool isLeapYear(int Y){return Y % 4 == 0 && Y % 100 != 0 || Y % 400 == 0;}int year(int Y, int N){while (N > 1){Y += 4;if (isLeapYear(

2016-05-25 23:40:03 269

原创 水题 Box of Bricks

Box of BricksTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9748 Accepted Submission(s): 2304 Problem Descriptio

2016-05-24 00:01:53 266

原创 Lua Day1

Today, I have succeeded in building Lua in Windows.If anyone want to know how to do, you can search this page http://lua-users.org/wiki/BuildingLuaInWindowsForNewbies

2016-05-23 13:36:07 198

原创 ACM水题 Climbing Worm

Climbing WormTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4696 Accepted Submission(s): 2791 Problem Descriptio

2016-05-21 22:37:03 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除