C++的学习重点:
1、语法
2、面向对象的编程思想 (此处与C语言的区别很大,C语言中是面向过程的编程语言,也就是把一个大的问题分解成很多个小问题去解决,而在C++中 万物皆对象)
什么是面向对象的方法?
首先,它将数据及队数据的操作方法放在一起,作为一个相互依存、不可分割的整体-----对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
#include <iostream> //输入输出流
using namespace std;
int main(void)
{
cout<<"hello world!"<<endl; // cout是输出流对象
// << 流插入运算符 把后面的值插入到前面的对象中
// 这里的endl 等价于C语言中的'\n'
return 0;
}
int &ref; //& 表示 ref为引用的名字 ( 引用必须初始化 , 不然编译会报错)
作用:在c++中使用引用传参 提高效率 不需要先开辟空间再复制值
eg:
void fn (int &n)
{
n+= 10;
}
指针和引用的区别:
引用必须初始化 ,不能换指向的对象 指针可以不初始化,可以更换指向对象
指针和引用的相同点:
可以用被调修改主调函数
内联函数:
inline //加在函数前面
inline void fm(int &n)
{
//
}
在函数调用处中展开该函数,inline 是一个建议而不是一个命令。
这个操作的目的:用空间去换时间的方法提高效率。
在多文件编程的时候:
若在.h中声明了某个函数是inline(内联)函数,在main函数使用函数执勤必须在
前面定义一次这个函数。(在主调函数前定义这个函数)
inline的函数必须写在.h文件中,包括他的函数内容。
结论: 内联函数的inline关键字卸载头文件中,只放头文件不放源文件。
带默认参数的函数:
int add (int a = 0, int b = 0)
{
}
在调用的时候add()可以不传参数。
//而函数在传参时,是靠着左侧开始对应传的
这个默认参数的写的地方要写在头文件声明中。
函数重载:
函数同名不同参 进行函数重载
看传入的参数 去匹配函数的参数
如果函数返回值不一样 编译会报错,不会进行函数重载
在调用函数的时候会匹配最为合适的函数进行调用 如果找不到这个函数会编译报错
---常指针与常引用 使用const修饰对象的一类问题
面向对象程序设计的重点:
抽象 --- -- - 封装 ----- 继承 -- -- - -多态
抽象:面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。
封装:是将抽象得到的数据和行为(或功能相结合),形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成“类”。其中的数据和函数都是类的成员。