上一页 1 2 3 4 5 6 7 ··· 13 下一页
  2020年2月23日
摘要: 拷贝构造函数:以拷贝的方式初始化一个对象时,会调用拷贝构造函数。 拷贝构造函数只有一个参数,它的类型是当前类的const引用,且任何额外参数都有默认值。 include include using namespace std; class Student{ public: Student(strin 阅读全文
posted @ 2020-02-23 19:54 xiaobaizzZ 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 编译器会为const引用创建临时变量 当使用const关键字对引用加以限定后,引用就可以绑定到临时数据了。为什么? 编译器会为临时数据创建一个新的、无名的临时变量,并将临时数据放入该临时变量中,然后再将引用绑定到临时变量。注意,临时变量也是变量,所有的变量都会被分配内存。 为什么编译器为常引用创建临 阅读全文
posted @ 2020-02-23 17:27 xiaobaizzZ 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 参数传递的本质是什么? 参数的传递本质上是一次赋值的过程,赋值 对内存进行拷贝 将一块内存上的数据复制到另一块内存上 C++禁止在函数调用时直接传递数组的内容,而是强制传递数组指针,而对于结构体和对象没有这种限制。 引用是什么? 引用可以看作是数据的一个别名,同个这个别名和原来的名字都能找到这份数据 阅读全文
posted @ 2020-02-23 17:17 xiaobaizzZ 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 数据类型的转换 类其实也是一种数据类型,也可以发生数据类型转换,不过这种转换只有在基类和派生类之间才有意义,并且只能将派生类赋值给基类。 向上转型(Upcasting):将派生类赋值给基类,非常安全,可以由编译器自动完成。 向下转型(Downcasting):将基类赋值给派生类,有风险,需要程序员手 阅读全文
posted @ 2020-02-23 16:31 xiaobaizzZ 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 虚继承(Virtual Inheritance) 为什么需要虚继承? 为了解决多继承时的命名冲突和数据冗余问题,C++提出了虚继承,使得在派生类中只保留一份间接基类的成员。 虚基类:某个类做出声明,承诺愿意共享它的基类。这个被共享的基类就是虚基类。 不论虚基类在继承体系中出现了多少次,在派生类中都只 阅读全文
posted @ 2020-02-23 16:12 xiaobaizzZ 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 基类和派生类的构造函数 类的构造函数不能被继承,为什么? 因为即使被继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数。 大部分基类中都有private属性的成员变量,它们在派生类中无法访问,更不能使用派生类的构造函数来初始化。怎么办? 在派生类的构造函数中调用基类的构造函数。 派生类 阅读全文
posted @ 2020-02-23 15:53 xiaobaizzZ 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 类继承时的作用域嵌套 类其实也是一种作用域,每个类都会定义它自己的作用域。 当存在继承关系时,派生类的作用域嵌套在基类的作用域之内,如果一个名字在派生类的作用域内无法找到,编译器会继续到外层的基类作用域中查找改名字的定义。 类继承时的对象内存模型 派生类的内存模型:基类成员变量 + 新增成员变量;成 阅读全文
posted @ 2020-02-23 15:01 xiaobaizzZ 阅读(852) 评论(0) 推荐(0) 编辑
摘要: public、protected、private修饰类的成员 public成员可以通过对象来访问。 private成员不能通过对象来访问。 protected成员不能通过对象访问,但是当存在继承关系时,基类中的protected成员可以在派生类中使用。 public、protected、privat 阅读全文
posted @ 2020-02-23 14:37 xiaobaizzZ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: const成员变量 const成员变量和const普通变量用法相似。初始化const成员变量只有一种方法,就是通过构造函数的初始化列表。 const成员函数 const成员函数可以使用类中的所有成员变量,但是不能修改它们的值。 注意:const成员函数需要在声明和定义的时候在函数头部的结尾加上con 阅读全文
posted @ 2020-02-23 00:51 xiaobaizzZ 阅读(610) 评论(0) 推荐(0) 编辑
摘要: static静态成员变量 对象的内存中包含了成员变量,不同的对象占用不同的内存,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。 那么如何在多个对象之间共享数据? 静态成员变量:属于类,不属于某个具体的对象,即使创建多个对象,也只为static成员变量分配一份内存,所有对象都使用这份内 阅读全文
posted @ 2020-02-23 00:35 xiaobaizzZ 阅读(240) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页