- 博客(17)
- 收藏
- 关注
原创 OSX + Xcode + C++ (16)
类的继承与派生继承与派生是同一过程从不同角度来看: 继承是保持原有类的特性的从而构造新的类; 派生是在原有类的基础上发展新的特性而构造新的类。 通常情况下,派生更多。1. 继承的语法单继承//Derived是派生类名字,public代表继承方式,Base就是继承的基类class Dreived : public Base { //members};多...
2018-09-04 23:37:31 174
原创 OSX + Xcode + C++ (14)
vectorc++标准库为我们提供了类模板,可以用来容纳任何类型的数组,使用动态内存分配的形式来存储对象。语法:#include <vector>//包含vector标准库using namespace std;//使用std命名空间vector<data_type> array_name(array_size) //array_size可以是常...
2018-08-16 23:36:20 424
原创 OSX + Xcode + C++ (12)
指针指针就是内存地址,用于间接访问内存单元。 指针变量:存放地址的变量。回顾一下,我们之前学过的,跟地址有关系的内容: 1. 引用,在函数参数传递时,可以使用引用作为形参,也就是传变量的地址,这样对于大对象能够提高效率。 2. 数组,在定义数组时,数组名其实就是数组第一个元素的地址。1. 与指针有关的基本操作通过以下示例程序来看以下与指针有关的基本操作//// ...
2018-08-11 10:42:27 278
原创 OSX + Xcode + C++ (11)
数组数组是同一类型的,具有特定关系的数据的集合。数组的语法为: type array_name[constExpre][constExpre]... type是数组元素的类型,array_name是数组的名,每一个[]表示一个维度,其中的值是常量表达式,表示这一维的长度。1. 数组的存储一维数组在内存中是顺序存放的,地址是连续的,物理地址之间的次序关系与逻辑次序相同。数组名实际上是...
2018-08-08 21:08:35 1023
原创 OSX + Xcode + C++ (10)
c++工程1. c++多文件结构通常,一个工程可以分为多个源文件: 1. 类的声明 -> .h(.hpp)文件 2. 类的实现 -> .cpp文件 3. 类的使用 -> 功能性.cpp文件中 我们之前写的Point类,按照这样的方式拆分开之后,整个编译和链接过程如下图所示: 2. 外部变量和外部函数外部变量: 1. 具有文件作用域的变量都是外部变量 ...
2018-08-07 23:12:13 316
原创 OSX + Xcode + C++ (9)
数据共享与保护1. 标识符的作用域按照由小到大的顺序,作用域分为:函数原型作用域->块作用域->类作用域->文件作用域->命名空间作用域。 函数原型作用域 函数原型中的形参表 局部作用域 函数定义的形参、函数内部定义的变量 类作用域 类体、类外实现的成员函数等 文件作用域 除上述情况外我们知道,在声明函...
2018-08-07 22:53:47 190
原创 OSX + Xcode + C++ (8)
特殊的类1.结构体c语言中也有结构体的概念,但是c++中的结构体与c语言的结构体有很大差别,首先,c++的结构体是一种特殊的类。但是,结构体和类也有区别: 1.类的成员的默认访问属性是private,也就是说,如果不指定访问权限,那么成员就是private;而结构体的默认访问属性是public。 2.如果一个类仅仅有一组属性(数据),而没有操作,那么就用结构体来定义,并且便于访问。 ...
2018-08-05 12:30:58 143
原创 OSX + Xcode + C++ (7)
类的组合考虑这样一个问题:工人要组装一个台灯,现在有图纸,说明了台灯的零件有灯泡和底座,以及他俩的组合方式。也就是说,工人不需要会制造灯泡和底座,甚至不需要知道这两个零件的工作原理,只需要提供这两个零件,就能制造出一个灯泡。 在c++编程中,也有类似的概念,即类的组合,一个类的对象可以作为另一个类的成员。那么组合类的成员函数可以访问部件对象的私有成员吗?显然是不行,就像工人组装台灯,灯泡供应...
2018-08-05 00:32:09 149
原创 OSX + Xcode + C++ (6)
类和对象1. 为什么要设计“类”的概念我们知道,c++和java一样,都是面向对象的语言。所谓的面向对象,就是把属于同一类的程序对象统一在一起。例如圆,大圆小圆、左边的圆和右边的圆,其实都属于圆这一类,它们有相似的属性,比如半径radias,有相似的操作,比如计算面积。我们把圆这个类的属性和它的操作“封装”在一起,就形成了这个类Circle。...
2018-08-02 22:25:07 242
原创 OSX + Xcode + C++ (5)
函数1.函数参数在函数这个概念下,唯一需要特别注意的就是函数的参数传递。与C不同,C++的参数传递除了使用指针,还可以用引用的方式。 C++函数参数传递存在两种:单向和双向。我们来看下面这个交换两个数的例子。//// OneWayTrans.hpp// ArgTransf//// Created by Evelyn on 2018/8/2.// Copyrigh...
2018-08-02 22:18:51 149
原创 OSX + Xcode + C++ (4)
头文件(.hpp)和源文件(.cpp)1. 基本概念每个c++程序通常分为两个文件:保存程序的声明(declaration)的头文件和保存程序的实现(implementation)的源文件。源文件就像我们经常见到的简单程序一样,头文件由三部分组成:起始处的版权和版本声明预处理块全局变量和函数的结构声明例如下面一段c++头文件代码://// computeRe...
2018-08-02 21:50:12 263
原创 OSX + Xcode + C++ (3)
使用Makefile来编译C++文件上一节中,由于Xcode使用GDB来对程序进行调试,不需要再去写Makefile就能在Xcode中编译和执行程序,这一点类似于VS。然而OSX属于unix系统,本质上还是需要人工去编译程序的,也就是说,想要在terminal中执行程序,还是要写Makefile先编译程序。1. 使用g++编译器编译cpp文件的命令:1.预处理,生成.i的文件[预处理器...
2018-08-01 23:39:51 198
原创 OSX + Xcode + C++ (2)
学习Xcode的基本用法1. 新建项目首先,我们在Xcode的初始界面选择Create a new Xcode project 接下来,在platform这一栏选择macOS,Application选择Command Line Tool即可。 然后为项目取一个名字,language选择c++。 最后保存在合适的位置。 Xcode自动为我们创建一个名为main.cpp...
2018-08-01 23:08:13 167
原创 OSX + Xcode + C++ (1)
断断续续的学过一些c++,对linux系统和linux编程有简单了解,但是不够系统,也不够坚持。现在想要做以下几件事:系统的学习c++编程,从最基础的知识开始,学习资料来自c++ premier 和清华大学公开课 https://www.bilibili.com/video/av20786390 。除了用Xcode辅助学习之外,还要学习OSX下c++编程的基本方法,也就是自己写Makefi...
2018-08-01 22:12:58 224
转载 欢迎使用CSDN-markdown
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2018-08-01 22:03:24 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人