从c到c++入门

从c到c++

1.引用

(数据类型)&变量1=变量2

例如:int &a =b;

#include <iostream>
using namespace std;
int main(){
int a=4,b=5;
int &r1=a;
int &r2=r1;
r2=10;
cout</<iostream>

2.常引用(在引用前加const关键字)

int n;
const int & r = n;

2.const关键字

1.定义常量

const int PI 3.14

2.常量指针

不能通过常量指针修改其指向的内容

3.动态内存

1.new分配内存 :new 的返回值是地址

int *p
p = new int;
*p = 5;

2.数组内存分配

 int *pn; 

int i=5;
pn =new int[i*20];
pn[0]=20;
pn[100]=30;/编译没问题数组越界

2.delete释放内存

int *p;
*p = 5;
delete p;
delete p;//导致异常,不能重复释放

3.释放数组内存

int *p = new int[20];
p[0]=1;
delete []p;//✨

4.函数

1.内联函数(inline 关键字)

2.函数重载

int MAX(int a,int b);
int MAX(double a,double b);
int MAX(int a,int b,int c);

3.函数缺省参数(程序的可扩充性)

int FUNC(int x,int y=2,int z=3);
//注:只能最右边连续若干个参数缺省

5.类和对象

1.结构程序化设计(过于繁琐) 程序=数据结构+算法

2.面向对象程序设计 程序=类+类+类+... ...

//写一个程序,输入矩形的长和宽,输出矩形的面积和周长
#include <iostream> //头文件
using namespace std;
class CRectangle{ //类
public:
\tint w,h;
\tint area(){
\t\treturn w*h;
\t}
\tint Perimeter(){
\t\treturn 2*(w+h);
\t}
\tvoid init(int w_,int h_){
\t\tw = w_;h=h_;
\t}
};
int main(){ //主函数
\tint w,h;
\tCRectangle r; //r是一个对象
\tcin>>w>>h;
\tr.init(w,h);
\tcout<<r.area>\treturn 0;
}
/<r.area>/<iostream>

3.类的其他用法

用法2.指针->成员名
CRectangle r1,r2;
CRectangle p1=&r1;
CRectangle* p2=&r2;
p1->w=5;
p2->nit(5,4);//nit作用在p2指向的对象上
用法3:引用名.成员名
REctangle r2;
CRectangle rr=r2;
rr.w=5;
rr.Init(5, 4);

//xx的值变了,x2的值也变

6.定义string对象

string str1;//定义string对象

string city = "beijing";//定义string对象并对其初始化

#include <iostream>
using namespace std;
int main(){
string str1;
string as[]={"beijing","shanghai","chengdu"};//string数组的每一项存的是一个字符串
cout<cout<cout<
\treturn 0;
}
/<iostream>


分享到:


相關文章: