课时6函数重载 函数重载 在C语言头文件中的extern "C" //常见的C语言头文件格式 #ifndef _FUNC_ #define _FUNC_ #ifdef __cplusplus extern "C" { #endif // __cplusplus void func(); #ifdef __cplusplus } #endif // __cplusplus #endif…
课时35类模板 类模板 创建类模板的实例 class Name<类型参数表>object; 类模板与模板类的区别 类模板是模板的定义,不是一个实实在在的类,定义中用到通用类型参数 模板类是实实在在的类定义.是类模板的实例化.类定义中参数被实际类型所代替 课时37STL基本概念 STL 向量(vector)属于序列式容器,用于容纳不定长线行序列,提供对序列的快速随机访问(也称直接访问) 向量是动态结构,模拟动态数组,它的大小不固定,可以在程序运行时增加或减少 vector的元素可以是任意类型T,…
课时44设计模式简介 设计模式简介 面向对象设计的第一个原则:针对接口编程,而不是针对实现编程 接口->指针 实现->实例 若已存在一个类Class A,现在希望复用Class A,则有以下两种方法. 通过继承实现复用 通过组合实现复用 面向对象设计的第二个原则:优先使用对象组合,而不是类继承 课时45观察者模式 如果两个对象是松耦合的,则他们可以相互作用,但彼此的依赖性很小. #include <iostream> #include <assert.h> #inclu…
课时33示例--为多态基类声明虚析构函数 微软校园招聘笔试题 #include <iostream> class Base { public: char Value() { return 'A'; } virtual char VirtualValue() { return 'X'; } }; class Derived :public Base { public: char Value() { return 'U'; } }; class VirtualDerived :virtual pu…
课时23运算符重载 运算符重载 重载赋值运算符 Person& Person::operator=(const Person& other) { //检查自赋值 if (this == &other) { return *this; } //释放原有的内存资源 delete[]m_data; int length = strlen(other.m_data); m_data = new char[length + 1]; strcpy(m_data, other.m_data);…
课时12构造函数与析构函数-2 构造函数 构造函数可以有多个 构造函数可以重载 构造函数用于隐式类型转换 class Student { public: explicit Student(int ssID) :id_(ssID) { std::cout << "constructing student:" << ssID << std::endl; } private: int id_; }; void func(Student& stu)…
第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 在第5单元作业[4]以及本单元作业[1]的代码基础上,实现类间的继承关系 依照学术诚信条款,我保证此作业是本人独立完成的. 1 以MyShape作为基类,修改MyRectangle类和MyCircle类从MyShape派生(10分) 题目难度:中   题目内容: 基于…
第1单元作业 - 写代码 - 互评 (难度:易) 查看帮助 返回   提交作业(截止时间已过) 完成并提交作业     作业批改 互评训练   互评作业   自评作业     成绩公布 查看成绩 温馨提示:本次作业的提交截止时间已过,无法成功提交作业.你可以在输入框中输入答案作为练习,但是所有答案都不会计入最后成绩. 请你练习编写一个C++程序,体会C++程序与C程序的不同之处.由于本作业需要同学们互评,因此作业提交时间期限很短,在题目发布后一周内就必须提交完成.超时的同学将无本次测验成绩,不…
第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 在本单元作业[3]的基础上,增加Circle类 依照学术诚信条款,我保证此作业是本人独立完成的. 1 在本单元作业[3]的基础上,修改MyRectangle类,并且增加新的MyCircle类表示圆形 练习编写拷贝构造函数(10分) 题目内容: 修改MyRectang…
1 在本单元作业[1]和作业[2]的基础上,创建一个MyRectangle类,并在main函数中创建类的实例.(10分) 题目难度: 难 题目内容: Screen类: 与作业[2]要求完全相同. 如果你的作业[2]顺利通过,那么你可以直接使用作业[2]中Screen类的代码 MyRectangle类: MyRectangle 代表的是一个矩形.我们用矩形左上角和右下角两个顶点的(x,y)坐标来表示它 1. MyRectangle类中的数据域有一个唯一与Screen类有关的成员,其类型为 Scre…