随笔分类 -  程序设计与算法(三)C++面向程序设计

摘要:1、this指针 1)this指针的作用 其作用就是指向成员函数所作用 的对象 非静态成员函数中可以直接使用this来代表指向该函数作用的对象的指针。 2)this指针和静态成员函数 静态成员函数中不能使用 this 指针! 因为静态成员函数并不具体作用与某个对象! 因此,静态成员函数的真实的参数的 阅读全文
posted @ 2022-05-16 17:09 Grit_L。 阅读(163) 评论(0) 推荐(0)
摘要:1)基本概念 名字与类名相同,在前面加‘~’ , 没有参数和返回值,一 个类最多只能有一个析构函数。 析构函数对象消亡时即自动被调用。可以定义析构函数来在对象消亡前做善后工作,比如释放分配的空间等。 如果定义类时没写析构函数,则编译器生成缺省析构函数。 缺省析构函数什么也不做。 如果定义了析构函数, 阅读全文
posted @ 2022-05-16 12:06 Grit_L。 阅读(169) 评论(0) 推荐(0)
摘要:1、构造函数 1)基本概念 成员函数的一种 名字与类名相同,可以有参数,不能有返回值(void也不行) 作用是对对象进行初始化,如给成员变量赋初值 如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数 --默认构造函数无参数,不做任何操作 如果定义了构造函数,则编译器不生成默认的无参数的 阅读全文
posted @ 2022-05-14 15:44 Grit_L。 阅读(231) 评论(0) 推荐(0)
摘要:1、结构化程序设计 1)C语言使用结构化程序设计: 程序 = 数据结构 + 算法 程序由全局变量以及众多相互调用的函数组成 。 算法以函数的形式实现,用于对数据结构进行 操作。 2)结构化程序设计的不足 结构化程序设计中,函数和其所操作的数据结构, 没有直观的联系。 随着程序规模的增加,程序逐渐难以 阅读全文
posted @ 2022-05-14 15:41 Grit_L。 阅读(103) 评论(0) 推荐(0)
摘要:1、内联函数 函数调用是有时间开销的。如果函数本身只有几条语 句,执行非常快,但是函数被反复执行很多次,相比之下调用函数所产生的这个开销就会显得比较大。 为了减少函数调用的开销,引入了内联函数机制。编译器处理对内联函数的调用语句时,是将整个函数的代码插入到调用语句处,而不会产生调用函数的语句。 in 阅读全文
posted @ 2022-05-13 17:57 Grit_L。 阅读(126) 评论(0) 推荐(0)
摘要:1、用new 运算符实现动态内存分配 第一种用法,分配一个变量: P = new T; T是任意类型名,P是类型为T * 的指针。 动态分配出一片大小为 sizeof(T)字节的内存空间,并且将该 内存空间的起始地址赋值给P。 比如: int * pn; pn = new int; * pn = 5 阅读全文
posted @ 2022-05-13 17:34 Grit_L。 阅读(113) 评论(0) 推荐(0)
摘要:1、定义变量 const int MAX_VAL = 23; const string SCHOOL_NAME = "Peking University"; 2、定义变量指针 不可通过常量指针修改其指向的内容 int n,m; const int * p = & n; * p = 5; //编译出错 阅读全文
posted @ 2022-05-13 17:23 Grit_L。 阅读(39) 评论(0) 推荐(0)
摘要:1、引用的概念: 定义引用时一定要将其初始化成引用某个变量。 初始化后,它就一直引用该变量,不会再引用别 的变量了。 引用只能引用变量,不能引用常量和表达式。 2、格式: 类型名 &引用名=某个变量名; 例如:int n=4; int &r=n; 其中 r 的类型为int& 某个变量的引用,等价于这 阅读全文
posted @ 2022-05-13 17:07 Grit_L。 阅读(90) 评论(0) 推荐(0)