前言
本手册是在有C基础的情况下,复习C++使用,主要介绍那些与C语言不同的点的知识。如果帮助到大家,实属荣幸,如果有不足之处大家也可以在评论中提出来,互相学习互相增长,谢谢大家。
1.面向过程与面向对象
这两个概念过于庞大,作者能力有限,这里只简述一下本人的理解。
1.1-面向过程
分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用,即入口函数顺序执行程序。
1.2-面向对象
抽象事物实例化为对象,通过对象的特征及行为进行程序设计。
2.基本语法
2.1-代码框架
不论什么语言,在什么都没有写的时候,都有一个比较固定的框架。在此框架上增添新的内容,从而完成某些需求,C++也不例外,通常最基础的结构如下:
#include <iostream>//头文件,iostream为标准输入输出头文件
int main()
{
std::cout<<”hello world”<<std::endl;
//std:是命名空间,为使不同模块或函数中相同标识符冲突的问题。
//表示std中的cout。cout表示输出流对象,即C++中的输出语句。
return 0;
}
2.2-输出流
C++的输入和输出是通过流的方式完成的,流就是数据的传输(缓冲区)。cout就是C++的输出流对象,它可以自动识别基本类型的输出。
cout<<表达式1<<表达式2<<endl; //endl相当于C语言中的“\n”
2.3-输入流
与输出流相同的是,输入流对象也可以自动识别基本类型的输出。
cin>>变量1>>变量2;
3.命名空间
为避免同名冲突,或命名空间污染而使用它。
3.1-语法结构
using namespace std;
注意:C++语言只有一个命名空间std;
C++定义的所有的类和对象都是std在这个命名空间下命名的;
C++的标准库都是在std命名空间中定义的;
在没写命名空间时,使用cout/cin需要在前面加上std::
3.2-自定义命名空间
见名知意,用户自己创建的命名空间
语法结构
namespace 名称
{
变量、函数等定义;
} //这里的‘;’号可加可不加。
例:
namespace teacher
{
char name[20] = "t name";
int age;
void showName()
{
cout << "成员name的内容是:" << name << endl;
}
}
在使用方式,与结构体类似,也与类近似,但也有些许不同。
调用方式:名称::成员变量/函数
实践小例
找完数
#include<iostream>
using namespace std;
int main()
{
int a = 0;
int i = 0;
int sum = 0;
cin >> a;
for(i = 1; i < a; i++)
{
if( (a % i) == 0 )
{
sum = sum + i;
}
}
if( sum == a )
{
cout << "Y" << std::endl;
}else{
cout << "N" << std::endl;
}
return 0;
}