Bootstrap

头歌--C++ 面向对象 - STL 的应用

目录

第1关:病毒复制

第2关:动态学生信息管理

第3关:还原键盘输入


第1关:病毒复制

任务描述

本关任务:设计一个病毒类。

相关知识

本关涉及到的内容如下:

  • 拷贝构造函数
  • 重载!===运算符

拷贝构造函数

当一个构造函数的唯一一个参数就是它所在类的引用时,这个构造函数就是一个拷贝构造函数,比如:

 
  1. class Test
  2. {
  3. public:
  4. Test();
  5. Test(const Test& t); //拷贝构造函数,参数不带const也行
  6. };

简单来说,拷贝构造函数的调用时机有三个:

  • 用一个对象去初始化一个同类对象时,可以是通过构造函数传入给一个同类对象,还可以是使用赋值运算符=
  • 将一个对象作为参数传递给一个函数,而且形式参数不是这个类型的指针或引用
  • 将一个对象作为返回值返回,而且返回值类型不是这个类型的指针或引用

比如:

 
  1. /* 类声明同上 */
  2. Test::Test(){}
  3. <
;