随笔分类 -  [1]C++学习笔记

摘要:1. 重载函数定义 出现在相同作用域内的函数,如果其函数名相同,而形参列表不同,则称之为重载函数。 形参列表不同的含义为:形参个数不同或形参类型不同,函数不能基于返回值类型不同实现重载。 函数重载与重复声明的区别: 如果两个函数返回值类型和形参列表相同,则第二个函数视为重复声明。 如果两个函数的形参 阅读全文
posted @ 2020-04-09 00:12 bky2016 阅读(421) 评论(0) 推荐(0)
摘要:C++语言规定:在某个类的构造函数(或析构函数)中调用虚函数,执行的是当前构造函数(或析构函数)所属类的虚函数的函数体。 以代码为例说明问题: 1 class Point 2 { 3 public: 4 Point(float x = 0,float y = 0) 5 { 6 printf("Poi 阅读全文
posted @ 2020-04-08 23:56 bky2016 阅读(1039) 评论(0) 推荐(0)
摘要:已知文件路径,用C++实现读取对应文件的内容,代码如下: 阅读全文
posted @ 2018-12-12 22:43 bky2016 阅读(2517) 评论(0) 推荐(0)
摘要:C++常用的函数指针 语法:返回值类型 (*函数名)(参数列表); 举例说明:int (*Func)(int m, int n); 用typedef简化函数指针的定义 例如: 函数指针的初始化和赋值 指针函数可以作为形参 有两种方式: 返回指向函数的指针 例如: 这句话的意思是:ff(int)是一个 阅读全文
posted @ 2017-08-31 11:29 bky2016 阅读(454) 评论(0) 推荐(0)
摘要:C++ Primer 第七章-函数学习笔记 一步一个脚印、循序渐进的学习。 一、参数传递 「如果形参是非引用类型,则复制实参的值来初始化形参;如果形参是引用类型,则形参只是实参的别名。」 「非引用形参表示对实参的局部副本,函数内修改此类型形参时仅仅改变局部副本的值,一旦函数执行结束,这些局部变量的值 阅读全文
posted @ 2017-08-27 22:46 bky2016 阅读(304) 评论(0) 推荐(0)
摘要:sizeof的常见用法 1. 基本类型所占的内存大小 上表中是基本类型在不同平台上所占用的内存大小,例如sizeof(int) = 4。 2.sizeof计算数组占用的字节数 使用sizeof计算数组占用内存的字节数的计算方法是 类型字节数*数组长度。 例如: 使用sizeof计算m_aNums的字 阅读全文
posted @ 2017-07-27 20:36 bky2016 阅读(393) 评论(0) 推荐(0)
摘要:一、vector的使用 1. #include <vector> 2. 初始化的四种方法 vector<T> v1; vector<T> v2(v1); vector<T> v3(n, i);//长度为n,元素值均是i vector<T> v4(n);//长度为0,元素均为0 3. 常用方法 (1) 阅读全文
posted @ 2017-06-14 15:56 bky2016 阅读(181) 评论(0) 推荐(0)
摘要:四种情况:1. 创建一个类指针时,调用其构造函数;删除当前指针时,自动调用其析构函数。2. 创建子类对象指针时,首先调用其父类的构造函数,然后调用子类的构造函数;删除当前指针时先调用子类的析构函数,然后调用父类的析构函数。3. 一个父类指针指向子类地址时,创建指针时先调用父类的构造函数,然后调用子类 阅读全文
posted @ 2017-06-08 20:15 bky2016 阅读(667) 评论(0) 推荐(0)
摘要:来自:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct是对C中struct进行了扩展,它不单是一个包含不同数据类型的数据结构了,它还有其他很多的功能,例如: 1. 声明变量和方法 2. 继承 3. 实现多态 struct 阅读全文
posted @ 2017-05-14 20:09 bky2016 阅读(185) 评论(0) 推荐(0)
摘要:一、C++中纯虚函数与抽象类: 1、含有一个或多个纯虚函数的类成为抽象类,注意此处是纯虚函数,而不是虚函数。 2、如果一个子类继承抽象类,则必须实现父类中的纯虚函数,否则该类也为抽象类。 3、如果一个类中含有虚函数,则必须将该类的析构函数声明为虚函数。 4、虚函数与纯虚函数的声明: virtual 阅读全文
posted @ 2016-09-27 23:19 bky2016 阅读(408) 评论(0) 推荐(0)
摘要:一、C++中可以实现子类向父类的转换,主要分为三种形式: 1.对象转换:不能实现动态绑定,即不能实现多态。 2.引用转换:动态绑定,实现多态。 3.指针转换:动态绑定,实现多态。 注意:一般不会出现父类转化为子类的情况。 二、代码片段如下: 阅读全文
posted @ 2016-09-21 23:12 bky2016 阅读(1659) 评论(0) 推荐(0)
摘要:子类 构造函数与析构函数 执行顺序 阅读全文
posted @ 2016-09-20 23:11 bky2016 阅读(1008) 评论(0) 推荐(0)
摘要:1.不同于Java中通过extends实现继承,C++是通过:实现的。 2.C++中同样包含public,private,protected三个关键字: public关键字表示在任意其他类中可调用该成员。 private关键字表示该成员只能在声明该成员的类中使用。 protected关键字用于继承, 阅读全文
posted @ 2016-09-17 22:55 bky2016 阅读(1458) 评论(0) 推荐(0)
摘要:一、重载输入操作符的要点: 1、返回值为istream &。 2、第一个参数为istream &in。 3、第二个参数为自定义类型的引用对象(例如Sales_Item &item)。 二、重载输出操作符的要点: 1、返回值为ostream &。 2、第一个参数为ostream &。 3、第二个参数为 阅读全文
posted @ 2016-09-09 23:19 bky2016 阅读(345) 评论(0) 推荐(0)
摘要:一、深复制与浅复制基本知识 深复制和浅复制,又称为深拷贝和浅拷贝。 深复制和浅复制的区别如下图1所示: 图1 图1表示的是,定义一个类CDemo,包含int a和char *str两个成员变量, 当深复制时,A中的指针str与B中的指针str指向不同的地址,只是地址所指向的数据相同。 当浅复制时,A 阅读全文
posted @ 2016-09-09 00:12 bky2016 阅读(504) 评论(0) 推荐(0)
摘要:1.什么是复制构造函数 复制构造函数:是构造函数,其只有一个参数,参数类型是所属类的类型,且参数是一个const引用。 作用:将本类的成员变量赋值为引用形参的成员变量。 2.什么是赋值操作符 赋值操作符:返回值是本类的引用类型,参数类型是所属类的类型,且参数是一个const引用。 作用与复制构造函数 阅读全文
posted @ 2016-09-06 23:27 bky2016 阅读(1174) 评论(0) 推荐(0)
摘要:一、理论部分 C++中函数形参主要分为两类,如图1所示, 总结: 一、当函数参数为非引用形参时,传进函数体内的是实参的拷贝,(注意,对于基本类型而言,拷贝的是实参的值,对于指针而言拷贝的是实参的地址) (1)若形参为非const的基本类型,则即可接收const实参,也可接收非const实参。只是在函 阅读全文
posted @ 2016-08-18 23:54 bky2016 阅读(1300) 评论(0) 推荐(0)
摘要:—顺序容器:vector,list,queue1.顺序容器的常见用法: (1)vector声明 vector<string> svec;(2)添加元素: (3)访问元素: (4)删除元素: 2.顺序容器的优缺点: (1)vector:高效的随机访问,插入或删除元素较慢。(2)list:在任何位置可以 阅读全文
posted @ 2016-08-02 17:28 bky2016 阅读(462) 评论(0) 推荐(0)
摘要:迭代器 阅读全文
posted @ 2016-07-16 23:28 bky2016 阅读(321) 评论(0) 推荐(0)
摘要:指针与引用的区别 阅读全文
posted @ 2016-07-16 23:23 bky2016 阅读(303) 评论(0) 推荐(0)