C++入门基础

1.C++的认识

       C++其实就是在c的基础之上增加了很多新的特性,也就是说c++其实是完全兼容c的,不过不同的是c语言是面向过程的,而c++是面向过程+面向对象的,也就是c++的面向过程是为了实现面向对象。

面向过程设计: 程序 = 数据结构 + 算法          
面向对象设计:   对象 = 数据结构 + 算法              程序 = (对象 + 对象 + ... + 对象间通讯机制
C和C++的编程步骤是一致,都是经过  编辑源码 、编译过程 、 预处理 、编译 、汇编 、链接。

2.命名空间

        在编写代码的时候,在同一个作用域内,如果出现相同的变量名、函数名等等,c语言会报错,这是因为出现了命名冲突。C++由此提出了命名空间的概念,就是给函数名、变量名等加一层作用域的限制,以此来解决命名冲突的问题。

Namespace 命名空间名
{
     变量;
     函数;
     类型名;
     。。。。
};

其访问方式有两种:

  1. 作用域(   ::  )
  2. Using namespace 命名空间名;

3.标准输入输出流

        在C++中输出和输入是用“流” (stream)的方式实现的, 对流进行操作就是在对文件进行操作。
        在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数 据。在执行输入输出语句时,先把数据顺序存放在输出缓冲区中,直到输出缓 冲区满或遇到输入输出语句中的 endl( n′ ends flush) 为止,此时将缓冲 区中已有的数据一起输出,并清空缓冲区。

       C++已经定义好了标准输入流和标准输出流的对象,cin和cout,在iostream头文件中的std的命名空间中定义的。

#include <iostream>
Using namesapce std;

Cin >> a;  //输入
Cout << a; //输出

4.引用

        引用就是变量的别名,操作引用就是在操作变量本身。与指针不同的是指针要开辟空间,它存放的是变量的地址,访问变量属于间接访问,引用不开辟空间,是变量的别名,是直接访问。

//数据类型 &引用名 = 变量名;
Int a;
Int &b = a;
Int &c = a;
Int &d = b;
//常引用
const int &a =100;
//相当于#define a 100 
  1. 引用不会产生新的空间
  2. 引用必须初始化
  3. 一个变量可以有多个引用,引用也可以有引用

5.函数重载

        函数重载指的是函数功能类似,函数名相同,参数不同(参数的个数、类型),与返回值无关的一类函数。函数重载是因为函数的本质就是一段连续空间的二进制代码,在运行时,存在内存中,函数名就是这段二进制代码的首地址,所以不同的二进制代码首地址是不一样的,也就是函数名必须不一样,但在c++中是允许函数名一样的,这是因为在编译时只要出现函数名,编译器都会对其按照参数进行重命名,所以本质上函数名是不一样的。

void test(int , int )
{
    ...
}
void test(int *, int *)
{
    ...
}
void test(char *, double *)
{
    ...
}

6.默认参数

        默认参数中参数指的就是形参,而在定义函数时参数有默认值就叫默认参数。需要注意的是在使用默认参数的时候必须保证参数的连续性。

int test(int a, int b, int c = 1, int d = 2, int e = 3)//默认参数必须连续
{
    return a + b + c + d + e;
}

         OK,结束了忙碌的一天,晚安玛卡巴卡!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值