C++语法知识.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:11 大小:53KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

C++语法知识.doc

C++语法知识.doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第PAGE\*MERGEFORMAT11页共NUMPAGES\*MERGEFORMAT11页NTTX3-RV7VB-T7X7F-WQYYY-9Y92F1C++文件扩展名.cpp/.cc/.C/.cxx2#include<iostream>#include<cstdio>在C语言中是#include<stdio.h>输入输出C中scanfsprintfC++中cincout3CinCOUT用法Cin>>变量名Cout<<变量名<<endl4命名空间Std是标准c++库中所有的函数、变量、类型、对象的名字空间。5自定义命名空间Namespace命名空间名字{命名空间成员}6访问命名空间通过命名空间名和::(学名作用域限定符)访问7命名空间的申明Usingnamespace命名空间名称{命名空间成员}8C++的结构(class)/联合(union)/和枚举在结构中可以自定义函数叫做成员函数在成员函数中可以直接访问成员变量9C++中的布尔类型Truefalse;Bool类型的变量可以接受任何类型的表达式其值非零则为true0则为false10C++中的运算符+-*/&&&|||^!.....11C++的函数C++的函数重载(函数名相同参数不同)在调用的时候通过给的实参来决定调用哪一个函数12动态分配内存C++中就是用NEW运算符动态分配内存delete运算符用于动态内存释放C语言:Int*p=(int*)malloc(sizeof(int));*p=1000;Free(p);、、释放内存C++语言中Int*p=newint(10);//申请一个int类型的数据被初始化为10*P=1000;Deletep;//申请一个int类型的数据Int*p=newint[n];类和对象//在C++中的类型转换(C中把int转换成charint*a;char*b=(char*)a;)1静态类型转换目标类型转换符static_cast<目标类型标识符>(源类型标识符)例子:Inta;Viod*pv=&a;//在C中int*p(int*)pv;C++int*p=static_cast<int*>(pv)#include<iostream>usingnamespacestd;//强制转换intmain(){inta=9;void*pn=&a;int*p=(int*)pn;cout<<p<<""<<*p<<endl;int*pv=static_cast<int*>(pn);cout<<pv<<""<<*pv<<endl;return0;}2动态类型转换标类型转换符dynamic_cast<目标类型标识符>(源类型标识符)主要用于非void*的指针转换成其他类型的和多态性的父子类之间的指针和父子类之间的转换3重解释类型转换Int*pv-reinterpret_cast<int*>(pn)对象什么是对象万物皆对象学生对象属性:年龄学号体重等行为:学习吃饭睡觉等类对象拥有相同属性的行为的对象进行归纳和抽象类的定义:Struct结构体名{成员};Class类名{成员//成员函数描述行为函数返回类型函数名(参数列表){//行为表示函数}};访问控制PublicPravite构造函数:Classxxx{Public://成员Xxxx(参数){//对成员变量赋值}}构造函数没有返回值函数名和类名完全一样构造函数不需要直接调用在创建对象的时候构造函数会自动执行完成对象的初始化规定在定义类的时候其中构造函数所带的参数要给他一个默认值析构函数作用在对象使用完过后会自动调用析构函数去释放掉申请的空间写法~类名(){//}This指针对于一个对象在在所属类型的函数中都有一个隐含的THIS指针该指针指向调用该函数的对象1在构造函数中可以通过this指针区分同名的构造参数和成员变量2通过返回*this实现返回返回对象调用自身的引用3通过this指针做函数的参数,实现不同对象的交互。拷贝构造所谓的拷贝构造就是以拷贝的方式进行构造Students1;Students2(s1);//拷贝构造Students2=s1;、、拷贝构造拷贝构造的形式类名(类名&对象名){//函数的实现体}在什么时候要自己写拷贝构造呢?也就是在类成员中有指针的时候去动态申请空间的时候拷贝构造函数我们必须得自己写(手动分配资源的时候new/malloc)思考题用指针动态申