本文共 4040 字,大约阅读时间需要 13 分钟。
关键字有所扩充,不一一举例。
举例作比较:
includeint main(){ int a; scanf("%d",&a); printf("a=%d\n",a); return 0;}
#includeusing namespace std;int main(){ int a; cin>>a; //cin是c++ input 缩写>>指向你要赋值的变量 cout<<"a="< <
setw是set width的缩写,其中k代表数据长度,规则同C语言。
头文件#include<iomanip>
(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<<<< <
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等同于C语言中的getchar(char)。
同C语言中的循环判断选择。
1.可在函数定义中声明形参的值,实参会覆盖形参的值
#includeusing 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)输出指针所指的对象和指针地址。
#includeusing namespace std;void main(){ int a=10,*p=&a; cout<<*p<<'\t'< <
(2)
这个是数据结构老师教会我的,虽然知道&是取地址,但是不知道还可以这样用。 图一是定义线性表,图二p=&(L.elem[L.length-1])是p=L.length-1的意思; (3)引用类型:在变量前加&,对引用类型修改时,同时也会对变量进行修改。 一般格式为<数据类型> &<引用变量名>=<常量名> 例如:#includeusing 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<指针变量名>=<地址>; 附加看的别人的博客:即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)类的定义格式如下:
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/