C++二级复习2

C++二级复习2

1、C++的字符串类和字符串变量

头文件必须是 #include <string> 没有.h
string str1="arigado";
string str2;
str1[2]='d';		修改某个字符
输入输出
cin>>str2;
cout<<str2;
运算和赋值
可以直接使用=,+,==,>,<,!=,>=等运算符

字符串数组不展开介绍了

2、指针(简单复习)
定义时,需要赋初值(地址)

类型名 * 指针名 = 地址;

类型表示指针指向的数据类型,*取值,&取址

在函数中,修改变量的值,需要传入函数的指针;修改指针的值,则需要传入指针的指针(二级指针)(如:线性表结点的插入删除等)

C++系统中将形参数组名一律作为指针变量处理。好!

字符数组的指针和普通数组的指针差不多。

抄了书上一个例子
char str1[]="kagura and mea",str2[20],*p1,*p2;
p1=str1,p2=str2;
for(;p1!='\0';p1++,p2++)
	*p2=*p1;
*p2='\0';									这步需小心,加上结束标志
p1=str1,p2=str2;						    改变指向
cout<<p1<<endl;
cout<<p2<<endl;

一个简单的辨析
定义时:

(返回)指针函数:函数类型 * 指针名 (函数形参);
指向函数的指针:函数类型 (*指针名)(函数形参);

二维指针(一种形式)3

int **p;

下面的有点用的少(自己)
const指针
只能通过指针改变变量的值(指向常量的指针变量)

const 类型名 * 指针变量名;

const 类型名 变量名;						常量始终不变

类型名 * const 指针变量名;(常指针)指针值(指向)不变,指向的值可变

const 类型名 * const 指针变量名; 指向常量的常指针 (只能指针修改指向变量)

void指针类型,指向空类型 或 不确定类型。
例子,malloc函数新开辟的空间的,返回的指针类型。需要类型转换。

指针变量的空值

int * p=NULL;

3、引用
数据的别名,类似于指针,使用很方便

int a;
int &b=a;							建立 a 的引用 b

注意:
引用需要初始化,声明后不能再更改
无引用的引用,无引用的指针,可以取地址

引用做函数参数,可以修改变量的值(起到类似指针的作用)

以上编辑于2019-03-25

以下编辑于2019-03-26

4、结构体,注意下声明和数据的引用

一般定义格式:
struct 结构体名
{
成员表
};
; 前不定义,可以让不同函数,文件使用此结构体;
如果只在本文件中使用,可以在 ; 前加上声明的变量

初始化可以在定义时指定

结构体与指针,引用数据
stu 是一个结构体student变量,有数据成员 num
struct student *p=&stu;
stu.num;
p->num;
(*p).num;
三者等效

5、动态分配和撤销空间

new 类型;				
delete 指针变量;		
delete [] 指针变量;   对数组

6、枚举类型,了解即可

enum 枚举类型名 {枚举常量表}			一般值为0,1,2...
变量的值只能是常量表中的值
enum weekday {sun=7,sum=1,tue,wed};
实际上,tue=2,wed=3

7、typedef 声明新类型名,貌似有点重要

声明新类型名,一般使用大写作为区分
typedef int INT;
INT a=1;
typedef long long int LL;
LL a=10;
声明结构体新类型名
typedef struct
{
int num;
}DATE;
数组新类型名,n为包含100整型元素的数组
typedef int NUM[100];
NUM n;
普通指针
tpyedef char * STRIG;
STRIG p,s[10];
指向函数的指针
typedef int(* POINTER)();		声明PINTER为指向函数的指针类型,函数返回整型值
POINTER p1,p2;

8、面对对象,抽象,封装,继承,多态

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值