Python 面向对象编程 2020-04-23 在学 Python OOP 之前,我在想,怎么还没到结构体,后来才恍然大悟,结构体是 C 的东西,C++ 有了类以后,(不考虑效率问题)就不需要结构体了,而 Python 也是这样,有了类,还需要结构体做什么呢? 该篇博客默认读者曾学过至少一门 OOP 语言。 Python 和 C++ 的对同一个概念的称呼的简单对照表: Python|C++ -|- 类 class|类 class ...
C++ 异常处理 2019-12-27 参考 https://www.runoob.com/cplusplus/cpp-exceptions-handling.html C++ 自带的异常处理,可以用来处理 除数为 0、加法溢出 等一些情况。虽然我们可以使用普通的 if 来判断,但是也可以使用 C++ 提供的一些异常。 这样的好处,是用标准统一了异常处理,方便了一些操作,也“提高了代码的复用性”。 三个关键字 ...
C++ 命名空间 2019-12-27 命名空间是表达多个变量和多个函数组合成一个组的方法。主要是为了解决名字(类型、变量、函数名)冲突的问题。 定义命名空间 用一个例子来说明:在 MyStudent.h 和 YourStudent.h 中都定义了 Student 类,并在 main 函数中包含这两个文件。 //MyStudent.cpp class Student { public: vo ...
C++ 模板 2019-12-27 C++ 最重要的特征之一就是 代码重用。 所以有了这么一个东西,可以 > 不受数据类型的影响。可以将数据类型也参数化(又叫参数化程序设计)。 于是就产生了了模板。从模板的字面义来看,有了模板应该就可以自动“产生”一堆类似的东西。 函数模板 比如我们要写最大值的函数,可能要写: int max(int a, int b){return a > b ? ...
C++ 面向对象——继承、派生和多态 2019-09-29 派生,就是从原来的大类,通过增加新的东西、特性、条件,变成了新的小类。如,从哺乳动物通过增加特性(汪汪叫、喵喵叫),派生到狗、猫。 狗和猫,都继承了哺乳动物的特点(胎生等),派生的时候,狗、猫都会自动继承哺乳动物有的特点,无需重复声明。 名称上,被派生的(哺乳动物)叫基类(父类),派生出来的猫、狗叫做派生类(子类)。他们间的继承关系,是由派生类到大类。 (貌似继承和派生是反义词) 在 ...
C++ 面向对象——类与对象 2019-09-10 类(Class)其实和 C++ 结构体差不多。 class ClassName { public: //公有成员 void setTime(int h, int m, int s); void showTime(){...} //在类内部实现成员函数 protected: //保护型成员 p ...