C++ day01-C++的函数和对象
C++的函数和对象
1.1
1 混合型语言
c++以.cpp为文件扩展名,有且只有一个名为main的主函数,因保留了这个面向过程的主函数,所以被称为混合语言
2 注释方式 。
C++的注释方式有两种,一下所列第一种常用于单行使用,第二种可灵活运用于单行和多行。
1 从 "//" 开始到本行结束, 如// ...........
2 从 “/*” 开始,到 “*/"结束,如 /* Hello,World! */
3 输入输出对象
1 提取操作: 用提取操作符 “>>" 从 cin 输入流中提取字符,如:cin>> a.x;
2 插入操作:用插入操作符" << " 向cout 输出流中插入字符,如:cout << "We" ; cout <<endl;
3 使用标准输入(键盘输入)cin 及标准输出(屏幕输出)cout 前,要在主函数前使用#include<istream> 将C++输入输出库头文件iostream 将其包括。
4 换行操作:用语句cout <<endl ;或 cout << "\n"; 实现,其中endl 可以插在流的中间。
如:cout << a.x << endl << a.y << endl;
4 使用命名空间
C++的头文件两种方式,这两种效果一样, 区别是加 .h可以省略using namespace std; 不加不可以省略。否则执行错误。
1 #include<iostream.h> //包含头文件
2 #include<iostream>
using namespace std;
5 对象的定义和初始化
定义对象包括为它命名并赋予它数据类型,一般即使初值只用来表示该对象尚未具有真正意义的值,也应将每个对象初始化。
C++中利用构造函数语法实现初始化,如:
int z(0); //等同于 int z = 0;
6 函数原型及其返回值
1 变量和函数的基本规则都是;
先声明,后使用.变量有时也可边声明便使用,但必须声明,否则出错。
2 除构造函数与析构函数外,函数都需要有类型声明。 如int main(), 指出main 是整数类型,返回值由return 后面的表达式决定,且表达式的值必须与声明函数的类型一致。 (构造函数是用来申请空间的,析构函数是用来释放空间)
3 C++ 函数有库函数(标准函数,引用时函数名外加 < > )和自定义函数( 引用时函数名外加 ”“ ) 两类。
7 const(常量)修饰符及预处理程序
1 const 修饰符:用于定义符号常量。
C中一般使用宏定义 ”#define"定义常量,而C++ 中除此外,建议使用const代替宏定义,用关键字const修饰的标识符称为符号常量。
#define BUFSIZE 100
const int BUFSIZE=100;
例子
#include<iostream.h>
#define PRICE 30 //常量,宏定义替换,在程序中保持不变。(不允许被改变) 和const int PRICE=30 是等价的
void main(void)
{ int num,total; //定义变量,在内存中开辟空间。
num = 10; // 变量赋值, 10为常量
total = num*PRICE;
cout << "total = " << total; //输出结果
}
常量定义也可使用构造函数的初始化方法如:
const int k(2); // 等价于const int k = 2;
extern const int d; //extern 修饰外部变量。
2 预处理程序
C++的预处理程序不是C++编译程序的一部分。
预处理语句有三种 :宏定义,文件包含(也成嵌入指令)和条件编译。
3 文件包含是指一个程序把另一个指定文件的内容包含进来,书写时可以使用引号也可以使用尖括号。
8 程序书写格式
C++ 的格式和C一样,都很自由,一行可以写几条语句,但也要注意一下规则,增加可读性。
9变量名的命名方法:
名了吗,数组名,函数名 ... 称为标识符
标识符只能由字母,数字,下划线这三种组成,且第一个字符必须为字母或下划线,长度不大于247 个字符。
1.2 认识C++ 面向过程编译的特点
1 使用函数重载。
C++ 允许为同一个函数定义几个版本,从而使一个函数名具有多种功能,这称为函数重载。
假设有个函数max,分别具有以下函数原型;
int max (int , int ); // 2个整型参数的函数原型
int max (int , int, int ) ; // 3个整型参数的函数原型;
只要分别为不同参数的max 编制相应的函数体,就可以实现各种功能
2 新的基本数据类型及其注意事项
1 void 是无类型标识符,只能声明函数的返回值类型
2 C++ 还比C多了 bool(布尔)型
3 C++ 只限定int 和short 至少要有16位,而 long 至少32位,short 不得长于int ,int不能长于long。
4 地址运算符 “&” 用来去对象存储的首地址,对于数组,则数组名就是数组的首地址。
例如 int x=56; 定义x 则语句cout << &x; 自动使用16进制输出。
5 C++ 中的常量分三种
1 第一种为符号常量
2 第二种为整数常量,有四种类型
3 第三种为浮点类型。
6 动态分配内存
1 在使用指针时,如果不使用对象地址初始化指针,可以给他分配地址。对于只存储一个基本类型数据的指针,申请方式如下:
new 类型名[size] //申请可以存储size 个该数据类型的对象。
不再使用时,必须使用delete 指针名;来释放已经申请的存储空间。
double *p; // 声明double指针
p= new double[3] // 分配3个double 型数据的存储空间
delete p; // 释放已经申请的存储空间。
2 C必须在可执行语句之前集中声明变量,而 C++ 可以在使用对象时在声明或定义
3 C++为结构动态分配内存一般格式为:
指针名= new 结构名; // 分配
delete 指针名; // 释放
例如给书中例 1.1 的Point 结构指针分配内存;
p = new Point;
当不再使用这个空间时,必须delete p; 释放空间。
2 引用
1 引用简单的说,就是为现有的对象起个别名,别名的地址与引用对象的地址是一样的。
引用的声明方式为;
数据类型& 别名 = 对象名 ;
注意对象在引用前必须先初始化,另外声明中符合“&”的位置无关紧要,
比如int & a = x; int & a = x; 和int & a=x; 等效。
例 : int x= 56; // 定义并初始化x
int & a = x; // 声明a是x 的引用,二者地址相同
int & r = a ; // 声明r 是a的引用,二者地址相同
r=32 ; // 改变r,则a和x 都同步变化。
2 对指针使用const限定符
1 变量的指针,指向变量的指针变量,指针变量指向的变量
3 左值和右值
左值是指某个对象的表达式,必须是可变的。
4 指向常量的指针 (const int *p = &x; "*p="的操作不成立)
指向常量的指针是在非常量指针声明前面使用const , 如:const int *p; 它告诉编译器,*p是常量,不能将*p作为左值进行操作,即限定了”*p=" 的操作,所以称为指向常量的指针。
5 泛型算法应用于普通数组
1 数组中元素及位置的关系
2 数组不能作为整体输出
3 对数组内容进行升幂,输出,反转和复制等操作需要包含头文件<algorithm>;对数组内容进行将幂和检索等操作需要包含头文件<functional>.
4 假设一位数组 a和b 的长度均为Len,数据类型为Type,则对数组内容的相关操作和语句如下。
1 数据内容反转:
reverse (a, a+len); //数组元素反转排列
2 复制数组内容:
copy (a, a+len,b); //将数组a的内容原样复制到数组b
reverse_copy(a,a+len,b);
C++ day01-C++的函数和对象的更多相关文章
- JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
- JavaScript学习总结(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
- 深入理解javascript原型和闭包(2)——函数和对象的关系
上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; co ...
- javascript 函数与对象
javascript中的函数是非常重要的概念,也是比较难于理解的一个知识点! 下面就来聊聊函数: JS基于对象:什么是基于对象呢?简单的说所有代码都是"对象"; 比如函数: fun ...
- ES5——函数,对象,方法,this
JS由表达式和语句组成 表达式:计算出一个值,但并不进行任何操作,不改变计算机运行状态 语句:包括 声明语句,赋值语句,控制结构 函数,对象,方法,this 数组和对象:是两个非常重要的数据类型 函数 ...
- 前端学习 第二弹: JavaScript中的一些函数与对象(1)
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...
- 深入理解js——函数和对象的关系
函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...
- php的引用&(就是在变量或者函数、对象等前面加上&符号)
官方文档: 1.引用是什么:http://www.php.net/manual/zh/language.references.whatare.php 2.引用做什么:http://www.php.ne ...
- 浅谈JavaSccript函数与对象
函数 解剖函数 function One(leve1 , leve2){ //code return leve1+leve2 } 注释: 形参不需要加上类型: return语句为可选,没有return ...
随机推荐
- CentOS自动化安装LAMP脚本
#!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...
- Eclipse alt+/语法不提示的解决方法
最近公司电脑上的Eclipse没有了自动提示功能,也不是全部不提示,大多数情况下按下“alt+/”键还会产生提示,但是当我在java项目中邪main方法和syso的时候,“alt+/”则会失效,今天在 ...
- 一些你不知道的js特性【一】
关于js 我们知道完整的js包括三个方面ECMAScript.DOM(文档对象模型).BOM(浏览器对象模型). ECMAScript定义了与宿主无关的预言基础,比如:语法(包含正则语法).类型.语句 ...
- 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- oracle 中 insert select 和 select insert 配合使用
Insert Into select 与 Select Into 哪个更快? 在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SEL ...
- Linux中哪些工具堪称神器?
作者:int32bit www.zhihu.com/question/59227720 ag:比grep.ack更快的递归搜索文件内容. Github地址: https://github.com/gg ...
- 利用 chunked 类型响应实现后台请求的监听
Koa 中实现 chunked 数据传输 中介绍了如何在 Koa 中实现 Transfer-Encoding:chunked 类型的响应分片传输.这里来看一个应用场景. 假如我们想监听后台的请求,并将 ...
- java 超详细面经整理(持续更新)2019.12.18
目录 Java SE 请你谈谈Java中是如何支持正则表达式操作的? 请你简单描述一下正则表达式及其用途. 请你比较一下Java和JavaSciprt? 在Java中如何跳出当前的多重嵌套循环? 讲讲 ...
- jQuery中$()函数的7种用法汇总
前言 jQuery对象是一个类数组的对象,含有连续的整形属性以及一系列的jQuery方法.它把所有的操作都包装在一个jQuery()函数中,形成了统一(也是惟一)的操作入口.其中我们用的非常频繁的一个 ...
- html-css___table属性(设置细线边框)
border-collapse 属性设置表格的边框是否被合并为一个单一的边框 //设置table实线边框 table,td{ /*边框合并*/ border-collapse: collapse; b ...