指针数组的要运用和运算以及类的简单阐述

来源:互联网 发布:淘宝售后客服工资考核 编辑:程序博客网 时间:2024/06/06 03:30
 

指向数组的指针=数组的首地址=数组名

指针变量名=&数组名[0].

指正变量名=数组名。

访问数组的方式:

(1)       数组名家下标p[10](2)指针名下标*p[10](3)数组名加偏移量(p+i)(4)指针名加偏移量*(p+i)

#include,<iostream>

#include<cstring>

using namespace std;

int main{}

{

char aa[5];

char p;

p=aa;//定义一个指向自己已有的数组指针

{for(int i=0;i<5;i++)

cin>>p[i];}

{for(int i=0;i<5;i++)

cout<<*(p+i)<<endl;}

}

他可以进行算术运算和关系运算

P1<p2表示p1指向的在p2指向元素的前边

P1>p2;p1=p2;

将字符串以单个的字符方式输出

#include,<iostream>

using namespace std;

int main{}

 

{char*str=”kkkkkkkk”;

while(*str=’/0’)//不明确个数的时候一般用whlie循环

{

cout<<*str<<’/t’;

str++;}

}

函数参数的传递方式:当函数调用时,将实参传递给形参。

(1)       值传递:定义的实参值=调用的形参值,将实参的值赋给形参。

(2)       地址传递:定义时,把形参定义成指针,调用时将实参的地址赋给形参。

例子:

#include<iostream>

void swap(int*,int*);

using namespace std;

int main()

{

       int a,b;

       cin>>a>>b;

       cout<<"a="<<a<<"b="<<b<<endl;

    cout<<"swapped"<<endl;

       swap(&a,&b);

       cout<<"a="<<a<<"b="<<b<<endl;

}

void swap(int *p1,int *p2)

{

       int p;

       p=*p1;

       *p1=*p2;

       *p2=p;

}

【备注】最后的结果时输入的a和b的值相互改变,通过子函数的调用来改变的!通过地址互换的方式。(函数的默认参数值)如果子函数中有默认值必须在开头对他的默认值进行申明,

(3)       引用传递:

函数重载:同一个名对应多个函数的实现,具体变现为一个对外接口多个内在实现方法。

编译器通过调用时参数的个数和类型选择同名函数。

重载函数的参数必须不同(参数类型和参数个数不同),如果参数相同返回值不同就会错误(编译器不能选择出用那个子函数),叫二义性。重载函数也有默认值!

例子(1)参数类型不同的重载函数

#include<iostream>

Int add(int,int);

Double add(doubnle,double);

using namespace std;

int main()

{

Cout<<add(5.10);

Cout<<add(10.0.5.0);

_}

子函数在调用时可以相互调用的!

类和对象的设计

类(他可以保护它里边的数据,不被别人随便看,只有自己定义的类对象才可以访问,他就设计一个分装包,外边的事物不能看见也不能访问。他也提高了数据的重用性)。

用户自定义的一类事物(自定义的一类数据),他时一个抽象概括的过程,就产生一个类!访问这个类就能找到这个类的特性。对象是类里边的元素,他是一个具体的事物,在类特性的基础上有自己的特性。

类申明的一般格式class(类名),private(似有数据成员和成员函数),protected(保护数据成员和成员函数)。Pubilc(共有数据成员和成员函数)

如;

class ss

{ini a,b,c;

int *o;//可以随便使用,但是他是属于这个类的,外界不能对他做修改

}