随笔分类 -  C++

摘要:1.C++类型转换 类型转换(cast)是将一种数据类型转换成另一种数据类型。例如,如果将一个整型值赋给一个浮点类型的变量,编译器会暗地里将其转换成浮点类型。 转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成一个比它更大的类型,但这可能会破坏其他的数据。 应该小心类型 阅读全文
posted @ 2019-03-01 12:25 吹过田野的风 阅读(194) 评论(0) 推荐(0)
摘要:Person.hpp MyArray.hpp 排序模板方法 Test test02 test04 test05 test06 阅读全文
posted @ 2019-03-01 12:17 吹过田野的风 阅读(136) 评论(0) 推荐(0)
摘要:Stack.hpp Test.cpp 阅读全文
posted @ 2019-03-01 11:24 吹过田野的风 阅读(117) 评论(0) 推荐(0)
摘要:Person.h Person.cpp MyArray.hpp main.cpp 阅读全文
posted @ 2019-03-01 10:37 吹过田野的风 阅读(150) 评论(0) 推荐(0)
摘要:1.7 类模板 1.7.1 类模板基本概念 类模板和函数模板的定义和使用类似,我们已经进行了介绍。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同。 l 类模板用于实现类所需数据的类型参数化 1.7.2 类模板做函数参数 1.7.3 类模板派生普通类 1.7.5 类模板类内实现 1.7.6 阅读全文
posted @ 2019-02-28 21:35 吹过田野的风 阅读(199) 评论(0) 推荐(0)
摘要:4.8.1 多态基本概念 多态是面向对象程序设计语言中数据抽象和继承之外的第三个基本特征。 多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”和”how”分离开来。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展, 阅读全文
posted @ 2019-02-26 16:02 吹过田野的风 阅读(245) 评论(0) 推荐(0)
摘要:#include "stdafx.h" #include using namespace std; int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; } int cheng(int a, int b) { return a*b; } int cal(int... 阅读全文
posted @ 2019-02-26 15:42 吹过田野的风 阅读(453) 评论(0) 推荐(0)
摘要:c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。 一个B类继承于A类,或称从类A派生类B。这样的话,类A成为基类(父类), 类B成为派生类(子类)。 派生类中的成员,包含两大部分: n 一类是从基类继承过来的,一类是自 阅读全文
posted @ 2019-02-26 13:08 吹过田野的风 阅读(462) 评论(0) 推荐(0)
摘要:String.h String.cpp 阅读全文
posted @ 2019-02-25 18:46 吹过田野的风 阅读(288) 评论(0) 推荐(0)
摘要:MyString.h MyString.cpp TestMyString.cpp 阅读全文
posted @ 2019-02-25 17:37 吹过田野的风 阅读(494) 评论(0) 推荐(0)
摘要:4.6.1 运算符重载基本概念 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。 运算符重载(operator overloading)只是一种”语法上的方便”,也就是它只是另一种函数调用的方式。 在c++中,可以定义一个处理类的新运算符。这种定义很像一个普通的函 阅读全文
posted @ 2019-02-25 17:32 吹过田野的风 阅读(454) 评论(0) 推荐(0)
摘要:MyArray.h MyArray.cpp TestMyArray.cpp 阅读全文
posted @ 2019-02-25 16:36 吹过田野的风 阅读(549) 评论(0) 推荐(0)
摘要:4.5 友元 类的主要特点之一是数据隐藏,即类的私有成员无法在类的外部(作用域之外)访问。但是,有时候需要在类的外部访问类的私有成员,怎么办? 解决方法是使用友元函数,友元函数是一种特权函数,c++允许这个特权函数访问私有成员。这一点从现实生活中也可以很好的理解: 比如你的家,有客厅,有你的卧室,那 阅读全文
posted @ 2019-02-25 16:12 吹过田野的风 阅读(258) 评论(0) 推荐(0)
摘要:4.4.1 成员变量和函数的存储 在c语言中,“分开来声明的,也就是说,语言本身并没有支持“数据”和“函数”之间的关联性我们把这种程序方法称为“程序性的”,由一组“分布在各个以功能为导航的函数中”的算法驱动,它们处理的是共同的外部数据。 c++实现了“封装”,那么数据(成员属性)和操作(成员函数)是 阅读全文
posted @ 2019-02-25 11:56 吹过田野的风 阅读(308) 评论(0) 推荐(0)
摘要:1. 饿汉模式使用饿汉模式实现单例是十分简单的,并且有效避免了线程安全问题,因为将该单例对象定义为static变量,程序启动即将其构造完成了。代码实现: 2.懒汉模式饿汉方式不论是否需要使用该对象都将其定义出来,可能浪费了内存,或者减慢了程序的启动速度。所以使用懒汉模式进行优化,懒汉模式即延迟构造对 阅读全文
posted @ 2019-02-25 11:52 吹过田野的风 阅读(5577) 评论(0) 推荐(1)
摘要:静态成员 在类定义中,它的成员(包括成员变量和成员函数),这些成员可以用关键字static声明为静态的,称为静态成员。 不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象共享。 4.3.7.1 静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员称为静 阅读全文
posted @ 2019-02-25 11:41 吹过田野的风 阅读(317) 评论(0) 推荐(0)
摘要:1. 初始化和清理 我们大家在购买一台电脑或者手机,或者其他的产品,这些产品都有一个初始设置,也就是这些产品对被创建的时候会有一个基础属性值。那么随着我们使用手机和电脑的时间越来越久,那么电脑和手机会慢慢被我们手动创建很多文件数据,某一天我们不用手机或电脑了,那么我们应该将电脑或手机中我们增加的数据 阅读全文
posted @ 2019-02-25 11:36 吹过田野的风 阅读(1164) 评论(0) 推荐(0)
摘要:1 .设计立方体类 设计立方体类(Cube),求出立方体的面积( 2*a*b + 2*a*c + 2*b*c )和体积( a * b * c),分别用全局函数和成员函数判断两个立方体是否相等。 2. 点和圆的关系 设计一个圆形类(AdvCircle),和一个点类(Point),计算点和圆的关系。 假 阅读全文
posted @ 2019-02-25 11:11 吹过田野的风 阅读(1569) 评论(0) 推荐(0)
摘要:C和C++中struct区别 n c语言struct只有变量 n c++语言struct 既有变量,也有函数 类的封装 我们编写程序的目的是为了解决现实中的问题,而这些问题的构成都是由各种事物组成,我们在计算机中要解决这种问题,首先要做就是要将这个问题的参与者:事和物抽象到计算机程序中,也就是用程序 阅读全文
posted @ 2019-02-25 11:08 吹过田野的风 阅读(458) 评论(0) 推荐(0)
摘要:以下在Linux下测试: c函数: void MyFunc(){} ,被编译成函数: MyFunc c++函数: void MyFunc(){},被编译成函数: _Z6Myfuncv 通过这个测试,由于c++中需要支持函数重载,所以c和c++中对同一个函数经过编译后生成的函数名是不相同的,这就导致了 阅读全文
posted @ 2019-02-25 11:02 吹过田野的风 阅读(1355) 评论(0) 推荐(1)