C++第二天笔记2016年01月27日(周三)P.M

1.  Point(Point p,int r):p(_p){}

对象p  p.print();//代码复用调用Point中的打印函数

2.  对象成员变量,没有显示使用初始化列表做初始化,编译器依旧会自动调用成员变量所属类中的构造函数(默认构造)对对象成员变量进行初始化。

3.  const:

const修饰函数时,只能修饰类的成员函数。

const成员函数体内 不能修改成员变量的值

const成员函数体内只能调用const成员函数

const对象只能调用const成员函数

4.  析构函数:

作用:当对象生命周期结束时,回收对象所占资源。

特点:没有返回值;*不能带参数;*不能被重载;*访问权限为公有

析构函数会由编译器自动调用,调用时机分三种:对象的作用域结束时,析构函数会被调用;销毁对象时,析构函数会被调用;delete指向对象的指针时,析构函数会被调用。

析构函数的函数名以~开头,后面跟着类名。如~Circle()。

时间: 2024-10-17 15:52:34

C++第二天笔记2016年01月27日(周三)P.M的相关文章

C语言第八天笔记2016年01月22日(周五)A.M

1. 作用域: 静态全局变量与普通全局变量:前者的作用域缩小,生命周期相同. 静态局部变量与普通局部变量:前者的生命周期延长,作用域相同. 2. 函数指针: int (*func_ptr)(int,float*);//声明函数指针. int exchange(int,float*); exchange(1,p); func_ptr(1,p); 3. 数组指针.指针数组 指针数组:char* s[10]; int* a[10];(数组,数组中的元素都是指针类型). 数组指针: int* p;//整

C++第四天笔记2016年01月29日(周五)A.M

1.   类的静态成员 静态局部变量: (1)    静态局部变量的空间并非在栈区. (2)    静态局部变量可以保留上一次函数调用时的计算结果,这与全局变量很相似,但是静态局部变量只能在当前函数体内可见. (3)    静态局部变量如果未进行初始化,会被编译器初始化为0. 静态变量的声明只会执行一次,以保证static静态变量只有一块空间 静态成员变量的初始化放在类定义之外单独做初始化,基本格式:类型 类名: : 静态成员变量名 例: int Employee::next_id = 0;//

C语言第七天笔记2016年01月21日(周四)P.M

1. 内存分配: C++里面使用new  delete 注意: #include <iostream> #include"stdlib.h" using namespace std; int main(int argc, char *argv[]) { int* p=new int(5); //申请了一个数组大小的堆空间,数组中的元素为int类型,元素个数为5. int* q=new int[5]; //申请了一个数组大小的堆空间,数组中的元素为int类型,元素个数为5.

C语言第五天笔记2016年01月18日(周一)A.M

1. 函数(补充,了解) 函数形参有默认值,必须自右向左依次有默认值 例:int  foo(int a,int b=1,int c=2){ return a+b+c;}//合法 int  foo(int a=1,int b,int c=2){ return a+b+c;}//不合法 内联函数:声明时使用inline关键字(并不一定所有的编译器都支持内联函数). 内联函数:在编译之前,编译器会用函数体替换函数调用语句,执行时,省去了“寻找函数实现”的时间.是一种用空间换时间的操作 普通函数:程序运

C语言第六天笔记2016年01月19日(周二)A.M

1. 指针: 指针变量的值被修改,指针变量的指向也会被修改(指针变量存储了谁的地址,指针变量就指向谁). 2. 指针变量 特点: 可以用来存储地址 值可以变化(指向可以更改) “指向”特定类型的数据 多个指针变量可同时指向一个变量 int* p=(int )malloc(4);  // (堆空间)  释放 free(p) 野指针: int *p; //p指向不明确的指针. 空指针: 值为null的指针 //不能对空指针进行解地址 3. 内存5大分区:(根据处理机制不同) 栈区:由系统自动分配空间

C语言第五天笔记2016年01月18日(周一)P.M

1. 指针 int a=10; int *p; p=&a; *p=a;//p=&a;未添加之前 *p指针未初始化 printf("%d\n",*p); 同类型声明: int a, * p,** q;

C语言第三天笔记2016年01月14日(周四)P.M

1. 二维数组: 例:int a[5][6] :5行6列 在物理内存中存储时,以一位数组的形式存放. 注:初始化时行数可省,列不能空,数组名不可赋值 2. continue:结束本次循环  即直接返回至判断条件 while: 使用条件内的数字初始化数组元素. break:跳出整个循环 3. 函数:用来实现指定功能的代码模块. 函数返回值的个数最多有一个 函数声明:return-type function-name(argument declarations); 返回值类型 函数名(参数列表) 函

C语言第三天笔记2016年01月14日(周四)A.M

1. while循环:当型循环 先执行判断条件,循环体可能一次都不会执行 do-while循环:直到型循环 先执行循环体后判断条件,循环体至少会执行一次. 2. for循环: for (expr1; expr2; expr3) statement //循环体 expr1:初始化循环控制变量(可选) expr2:循环判断条件(可省)若省略判断条件永真,有可能导致死循环 expr3:修改循环控制变量(可省) 在循环结构中,必须有修改循环控制变量的操作. break:退出整个循环 练习:9*9乘法表

C语言第九天笔记2016年01月25日(周一)P.M

1. 结构体 成员如果是char* name;能否使用gets.scanf.strcpy取决于name是否“指向”一块可以盛放字符串的空间,成员是数组,数组名不可以做左值. COMPUTER* p; p=&c; p->brandó(*p).brand .成员访问运算符 //结构体变量名.成员:c.brand; ->指向运算符:指针变量名->成员; //访问指针所“指向”的结构体变量的成员 2. 宏定义 基本格式:#define 宏的名字 宏替换内容 3. 预处理命令 #if 0