博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++和C的不同之处(不断自更新)自学笔记
阅读量:3946 次
发布时间:2019-05-24

本文共 4040 字,大约阅读时间需要 13 分钟。

一、C++概述

二、数据类型、运算符和表达式

关键字有所扩充,不一一举例。

三、简单的输入输出

1.cin输入流和cout输出流

举例作比较:

include
int main(){
int a; scanf("%d",&a); printf("a=%d\n",a); return 0;}
#include
using namespace std;int main(){
int a; cin>>a; //cin是c++ input 缩写>>指向你要赋值的变量 cout<<"a="<
<

2.输出流数据宽度setw(k)

setw是set width的缩写,其中k代表数据长度,规则同C语言。

头文件 #include<iomanip>

3.输出八进制、十进制、十六进制和科学计数法表示的数

(1)科学计数法

int a=10;double m=5.23cout.setf(ios::scientific,ios::floatfield);		//按照科学计数法实现输出cout<<"a="<<<\t<<"m="<
<

(2)八进制、十六进制

int a,b,c,d;cin>>hex>>a;	//指明输入为16进制cin>>oct>>b;	//指明输入为8进制cin>>c;			//输入仍旧是8进制cin>>dex>>d;	//指明输入为10进制cout<<<
<
<

4.输入字符数据 char(只会接受一个字符)

cin.ignore(k)

k代表被省略的字符个数,包括空格

int a,b;char c,d;cin>>a>>b;cin.ignore(3);cin>>c>>d;cout<<<','<<<','<
<<','<

若输入如下数据:

12 34 5678
输出为
12,34,7,8
忽略了一个space和56

5.cin.get(char)

等同于C语言中的getchar(char)。

四、c++中的控制流程

同C语言中的循环判断选择。

五、函数

1.可在函数定义中声明形参的值,实参会覆盖形参的值

#include
using namespace std;void fun(int x=1,int y=2,int z=3){
cout<<"x="<
<<","<<"y="<
<<",<<"z="<
<

2.内联函数(空间代价换取时间代价)

内联函数定义很简单,只要在函数定义前加上关键字inline
3.函数重载
3.1参数类型不同的重载函数
3.2参数个数不同的重载函数
3.3C++系统函数
C语言中的头文件***.h把.h去掉,换成c***
例如#include<string.h>转化成#include<cstring>
3.4如何引用.c或者.cpp文件
(1)使要被引用的文件在相同路径下,然后在主程序中加入#include"**.c"
(2)使文件放在相同路径下,用extern声明。

六、编译预处理

七、数组

八、结构体、共用体和枚举类型

九、指针、引用和链表

(指针C语言课本和C++的书加起来看了10遍多,还是不怎么会用。)

1、指针

(1)输出指针所指的对象和指针地址。

#include
using namespace std;void main(){
int a=10,*p=&a; cout<<*p<<'\t'<

<

(2)

这个是数据结构老师教会我的,虽然知道&是取地址,但是不知道还可以这样用。

在这里插入图片描述

在这里插入图片描述
图一是定义线性表,图二p=&(L.elem[L.length-1])是p=L.length-1的意思;
(3)引用类型:在变量前加&,对引用类型修改时,同时也会对变量进行修改。
一般格式为<数据类型> &<引用变量名>=<常量名>
例如:

#include
using namespace std;int fun(int &x){
x+=1;}void main(){
int x=1; int &px=x; fun(x); //x的值+1,可以返回 px+=1; //px即为x,x值+1 cout<<"x="<
<

(4)指针小结

(5)const型变量和const指针
C++中const型变量是一种定义常量的手段,在程序运行过程中其值不可以改变,其余特性与一般变量一样。
定义const型变量:
const <数据类型> <变量名>=<常量>;
或者
<数据类型> const <变量名>=<常量>;
const型变量与符号常量的区别如下:
1)符号常量由编译器预处理,而const型变量由编译器处理
2)编译后,符号常量不存在,而const型变量依旧存在。
3)符号常量的作用域从定义位置开始,到源文件结束,从而const型变量的作用域与一般变量一样。
定义const型指针变量
C++中有三种const型指针
1)指向常量的指针定义格式为:
const <数据类型> *<指针变量名>;
2)指针常量
<数据类型> *const <指针变量名>=<地址>;
3)指向常量的指针常量
const <数据类型> *const<指针变量名>=<地址>;
附加看的别人的博客:

2.存储空间的动态存储和释放

即C语言中的malloc和free,realloc

new和delete运算符
(1)new运算符
常用的四种格式
格式一:<指针变量>=new<数据类型>;
例如:

int *p,i;p=new int;		//动态申请的空间中的初值不确定*p=8;i=*p;		//p指向的动态空间只能通过p间接访问

格式二:<指针变量>=new<数据类型>(<值>);

例如:

int *p,i;p=new int(8);		//动态申请的空间中的初值为8i=*p;*p=5;			//p指向的动态空间只能通过p间接访问

格式三:<指针变量>=new<数据类型>[<表达式>];

例如:

int *p;p=new int[10];		//申请具有10个整形量的一维数组空间……p[i]……;……*(p+i)……;			//访问一维数组

格式四:<指针变量>=new<数据类型>[<表达式1>][<表达式2>];

例如:

int (*p)[4];p=new int[3][4];		//p是行指针变量……p[i][j]……;……*(*(p+i)+j)……;		//访问二维数组元素

(2)delete运算符

格式一:delete <指针变量>;
意义:释放new格式一和格式二分配的空间。
例如:

int *p1,*p2;p1=new int;p2=new int(8);delete p1;delete p2;

格式二:delete [N]<指针变量>;

意义:释放new格式三和格式四分配的空间。
例如:

int *p;			//定义一个简单变量的指针,即元素指针p=new int[10];	//申请以为数组空间p[i],*(p+i)……;	//访问数组元素delete []p;		//或者delete [10]p;	//释放数组空间

又如:

int (*p)[4];p=new int[3][4];delete []p;		//或者delete [3]p;

十、类和对象

1.类和对象

(1)类的定义格式如下:

class 
<类名>
{ [[private:] //private可以省略,表示成员访问的权限是私有的
<数据成员及成员函数>
] [protected:
<数据成员及成员函数>
] [public:
<数据成员及成员函数>
]};

建立头文件person.h,在其中定义一个描述人的类Person。

class Person{
private: //此处private可以省略 char Name[20]; char Sex; int Age;public: //以下定义了四个成员函数 void SetData(char na[],char s,int a) {
strcpy[Name,na] //直接访问Name Sex=s; //直接访问Sex Age=a; //直接访问Age } void GetName(char *na) {
strcpy(na,Name); } char GetSex() {
return Sex; } int GetAge() {
return Age; }};注意类定义结束处必须有分号Person a,b; //定义了a,b两个对象Person *pa,*pb,*px,x[10] //定义了三个Person类型指针,x是对象数组pa=&a;pb=&b;px=x; //px指向对象数组的元素x[0]

(2)类成员访问特性

成员访问权限 类内访问特性 类外访问特性
private 可直接访问 不可直接访问
protected 可直接访问 不可直接访问
public 可直接访问 可直接访问

,pa->Sex是非法的,而a.SetData(),pa->GetName()是合法的。

自己打字太多了,后面的都是C语言没有的,看菜鸟教程吧,我学完C++还要学Mysql.

转载地址:http://lxowi.baihongyu.com/

你可能感兴趣的文章
Dealing with Audio Output Hardware 处理音频输出硬件设备
查看>>
Monitoring the Battery Level and Charging State 监测电池电量和充电状态
查看>>
Determining and Monitoring the Docking State and Type 判断并监测设备的停驻状态与类型
查看>>
Determining and Monitoring the Connectivity Status 根据网络连接状况去省电
查看>>
Manipulating Broadcast Receivers On Demand 按需操控广播接收
查看>>
Creating a View Class 创建一个视图类
查看>>
Custom Drawing 自定义绘制
查看>>
Making the View Interactive 视图互动
查看>>
Optimizing the View 优化视图
查看>>
Setting Up the Search Interface 设置搜索界面
查看>>
Storing and Searching for Data 数据存储和搜索
查看>>
Remaining Backward Compatible 保持向后兼容
查看>>
Remembering Your User 记住你的用户
查看>>
Authenticating to OAuth2 Services 验证OAuth2服务
查看>>
Creating a Custom Account Type 创建自定义帐户类型
查看>>
Sending Content to Other Apps 将内容发送到其他应用程序
查看>>
Receiving Content from Other Apps 接收来自其他应用程序的内容
查看>>
Adding an Easy Share Action 添加一个简单的共享行动
查看>>
Taking Photos Simply 简单地拍摄照片
查看>>
Recording Videos Simply 简单录制视频
查看>>