- 博客(74)
- 收藏
- 关注
原创 C++ 继承&重载运算符和重载函数&C++ 多态&虚函数&ADT&C++ 数据封装
面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。基类 & 派生类一个类可以派生自多个类,这意味着,它可以从多个基类继承数...
2019-10-12 22:03:09
588
原创 C++ 友元函数&C++ 内联函数&this 指针&C++ 指向类的指针
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:cla...
2019-10-12 11:25:14
1325
原创 C++ 类构造函数 & 析构函数&拷贝构造函数
类的构造函数类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。下面的实例有助于更好地理解构造函数的概念:实例#include <iostream> using namespace std; class Line{ pub...
2019-10-12 10:49:13
852
原创 C++类成员函数、访问修饰符和继承方式
C++在 C 语言的基础上增加了面向对象编程,C++支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。C++ 类定义定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括...
2019-10-12 10:14:55
675
原创 C++ 结构体
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。定义结构为了定义结构,必须使用 struct语句。struct语句定义了一个包含多个成员的新的数据类型,struct语句的格式如下:struct type_name {member_type1 member_name1;member_type2 memb...
2019-10-11 11:23:58
164
原创 C++ 基本的输入输出
C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。I/O 库头文件头文件函数和描述iostream该文件定义了 cin、cout、cerr 和 clog对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流...
2019-10-11 11:07:25
150
原创 C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t和 time_t 能够把系统时间和日期表示为某种整数。结构类型tm 把日期和时间以 C结...
2019-10-11 10:44:34
405
原创 C++ 指针的算术运算、指针和数组、引用
C++ 指针的算术运算指针是一个用数值表示的地址。因此,您可以对指针执行算术运算。可以对指针进行四种算术运算:++、--、+、-。假设 ptr 是一个指向地址 1000的整型指针,是一个 32位的整数,让我们对该指针执行下列的算术运算:ptr++在执行完上述的运算之后,ptr 将指向位置 1004,因为 ptr每增加一次,它都将指向下一个整数位置,即当前位置往后移 4 个字节。这个运算会...
2019-10-11 10:31:05
515
原创 C++ 中常量引用、指针常量、常指针、空指针、野指针浅析
先初步了解引用、指针的一些注意事项。引用并非对象引用必须初始化引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起类型要严格匹配int &a = 10; //错误:引用类型的初始值必须是一个对象 double a = 3.14; int &b = a; //错误:此处引用类型的初始值必须是...
2019-10-10 19:16:55
221
原创 C++中的指针浅析
C++ 指针学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:实例#include <iostream> using namesp...
2019-10-10 18:38:27
186
原创 C++ 字符串
C++ 提供了以下两种类型的字符串表示形式:C 风格字符串C++ 引入的 string类类型C 风格字符串C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符'\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 "Hello"字符串。由于在数组的末尾存储了空字符,所以字...
2019-10-10 14:49:59
327
原创 C++数组浅析(多维数组、指向数组的指针、传递数组给函数、从函数返回数组)
C++ 多维数组C++ 支持多维数组。多维数组声明的一般形式如下:type name[size1][size2]...[sizeN];例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组:int threedim[5][10][4];二维数组多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:t...
2019-10-05 21:55:48
461
原创 C++学习笔记06
C++ 数字实例#include <iostream>using namespace std; int main (){ // 数字定义 short s; int i; long l; float f; double d; // 数字赋值 s = 10; i = 1000; ...
2019-10-05 19:51:15
145
原创 C++学习笔记05
C++ 判断求 a,b,c,d 四个数中的最大数。#include<iostream> #include <iomanip>using namespace std;int main(){ int a, b, c, d, m, n,z; a = 10; b = 20; c = 30; d = 40; m = a ...
2019-10-05 13:51:55
133
原创 C++学习笔记04
位运算符位运算符作用于位,并逐位执行操作。假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:A = 0011 1100B = 0000 1101A&B = 0000 1100A|B = 0011 1101A^B = 0011 0001~A = 1100 0011实例#include <iostream>using namesp...
2019-10-05 13:19:44
181
原创 C++学习笔记03
C++ 修饰符类型C++ 允许在 char、int和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。下面列出了数据类型修饰符:signedunsignedlongshort修饰符signed、unsigned、long和 short可应用于整型,signed和 unsigned可应用于字符型,long可应用于双精度型。修饰符 ...
2019-10-05 12:40:07
233
原创 C++学习笔记02
C++ 变量类型变量是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++是大小写敏感的。C++ 中的变量定义变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义...
2019-10-04 20:21:36
214
1
原创 C++学习笔记01
:::: 在C++ 中表示作用域,和所属关系。:: 是运算符中等级最高的,它分为三种,分别如下:作用域符号:作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。例如:A,B 表示两个类,在 A,B中都有成员 member。那么:1、A::member就表示类A中的成员member。2、B::member就表...
2019-10-04 11:46:57
187
原创 Memcached学习笔记04
Memcached stats 命令Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。语法:stats 命令的基本语法格式如下:stats实例在以下实例中,我们使用了 stats 命令来输出 Memcached 服务信息。statsSTAT pid 1162STAT uptime 5022STAT time 1415208270S...
2019-10-03 21:25:01
138
原创 Memcached学习笔记03
Memcached get 命令Memcached get命令获取存储在key(键) 中的value(数据值) ,如果key不存在,则返回空。语法:get 命令的基本语法格式如下:get key多个 key使用空格隔开,如下:get key1 key2 key3参数说明如下:key:键值 key-value 结构中的 key,用于查找缓存值。实例在以下实例中,我们使用 ...
2019-10-03 21:16:30
147
原创 Memcached学习笔记02
Memcached set 命令Memcached set命令用于将 value(数据值) 存储在指定的 key(键) 中。如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。语法:set命令的基本语法格式如下:set key flags exptime bytes [noreply] value 参数说明如下:key:键值 key-va...
2019-10-03 21:03:46
113
原创 Memcached学习笔记01
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存...
2019-10-03 20:40:22
136
原创 Ruby RubyGems
RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby程序和库的标准格式,还提供一个管理程序包安装的工具。RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem的服务器。这类似于 Ubuntu 下的apt-get, Centos的yum,Python的pip。RubyGems大约创建于2003年11月,从Ruby1.9版起成为Ruby标准库的一部分。如果...
2019-09-23 11:06:58
215
原创 Ruby JSON
环境配置在使用 Ruby编码或解码JSON 数据前,我们需要先安装 Ruby JSON 模块。在安装该模块前你需要先安装 Ruby gem,我们使用 Ruby gem 安装JSON模块。 但是,如果你使用的是最新版本的Ruby,可能已经安装了gem,解析来我们就可以使用以下命令来安装Ruby JSON模块:$gem install json使用 Ruby 解析 JSON以下为JSON数据...
2019-09-23 10:58:55
233
原创 Ruby 多线程
每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程。Ruby 中我们可以通过 Thread类来创建多线程,Ruby的线程是一个轻量级的,可以以高效的方式来实现并行的代码。创建 Ruby 线程要启动一个新的线程,只需要调用Thread.new即可:# 线程 #1 代码部分Thread....
2019-09-23 10:54:40
389
原创 Ruby Web Service 应用 - SOAP4R
什么是 SOAP?简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范。SOAP是一种简单的基于XML的协议,它使应用程序通过 HTTP 来交换信息。简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。更多 SOAP教...
2019-09-23 10:32:14
168
原创 Ruby XML, XSLT 和 XPath
什么是 XML ?XML 指可扩展标记语言(eXtensible Markup Language)。可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。XML解析器结构和APIXML的解析...
2019-09-23 10:18:52
201
原创 Ruby Socket 编程
Ruby提供了两个级别访问网络的服务,在底层你可以访问操作系统,它可以让你实现客户端和服务器为面向连接和无连接协议的基本套接字支持。Ruby 统一支持应用程序的网络协议,如FTP、HTTP等。不管是高层的还是底层的。ruby提供了一些基本类,让你可以使用TCP,UDP,SOCKS等很多协议交互,而不必拘泥在网络层。这些类也提供了辅助类,让你可以轻松的对服务器进行读写。接下来就让我们来学习如...
2019-09-23 10:04:10
528
原创 Ruby 发送邮件 - SMATP
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。Ruby提供了Net::SMTP来发送邮件,并提供了两个方法 new和 start:new方法有两个参数:server name 默认为localhostport number默认为 25start 方法有以下参数:serv...
2019-09-23 09:50:51
432
原创 Ruby CGI Cookie、Session
HTTP协议是无状态协议。但对于一个商业网站,它需要保持不同的页面间的会话信息。如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息不丢失。这种情况下 Cookie很好的帮我们解决了问题。Cookie 是如何工作的?几乎所有的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。写入和读...
2019-09-22 18:32:03
242
原创 Ruby CGI 编程
Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。使用Ruby不仅可以编写自己的SMTP服务器,FTP程序,或Ruby Web服务器,而且还可以使用Ruby进行CGI编程。网页浏览为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程:1、使用你的浏览器访问URL并连接到HTTP web服务器...
2019-09-22 18:17:43
331
原创 Ruby 连接 Mysql - MySql2
Ruby 连接Mysql 更高效的驱动 mysql2,目前也推荐使用这种方式连接 MySql。安装 mysql2 驱动:gem install mysql2需要使用 –with-mysql-config 配置 mysql_config的路径,如:–with-mysql-config=/some/random/path/bin/mysql_config。连接连接数据库语法如下:cli...
2019-09-22 18:02:06
461
原创 Ruby 数据库访问 - DBI
Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许您简单地实现数据库切换。它定义了一系列方法、变量和规范,提供了一个独立于数据库的一致的数据库接口。DBI 可与下列进行交互...
2019-09-19 21:48:01
295
原创 Ruby 正则表达式
Ruby 正则表达式正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找字符串集合。正则表达式用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。语法正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的模式,如下所示:/pattern//pattern/im # 可以...
2019-09-19 20:50:44
151
原创 Ruby&面向对象
Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。Ruby 类定义当您定义一个类时,您实际是定义了一...
2019-09-15 21:59:06
606
原创 Ruby 范围、迭代器、文件的输入和输出
Ruby 范围(Range)范围(Range)无处不在:a 到 z、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围:作为序列的范围作为条件的范围作为间隔的范围作为序列的范围范围的第一个也是最常见的用途是表达序列。序列有一个起点、一个终点和一个在序列产生连续值的方式。Ruby 使用 ‘’…’’ 和 ‘’…’’ 范围运算符创建这些序列。两点形式创建一个包...
2019-09-15 21:02:27
260
原创 Ruby块、模块、字符串、数组、哈希和日期&时间
Ruby 块您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。块由大量的代码组成。您需要给块取个名称。块中的代码总是包含在大括号 {} 内。块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。您可以使用yield 语句来调用块。语法block_name{ statement...
2019-09-14 21:45:46
214
原创 Ruby变量、运算符、注释、条件判断、循环和方法
Ruby 变量变量是持有可被任何程序使用的任何数据的存储位置。Ruby 支持五种类型的变量。一般小写字母、下划线开头:变量(Variable)。$开头:全局变量(Global variable)。@开头:实例变量(Instance variable)。@@开头:类变量(Class variable)类变量被共享在整个继承链中大写字母开头:常数(Constant)。Ruby 全局...
2019-09-14 14:03:26
555
原创 Ruby数据类型、类和对象、类案例
Ruby 数据类型Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。数值类型(Number)整型(Integer)整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。可以在整数前使用一个可选的前导符号,一个可选...
2019-09-14 10:19:03
397
原创 Ruby入门学习笔记
Ruby 简介Ruby是一种的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。Ruby 社区www.ruby-lang.orgRuby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。Smalltalk 是一个真正的面向对象语言。Ruby与 Sma...
2019-09-14 09:27:11
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人