C++
2018萌新程序员
用来记录我学习的代码
展开
-
C++ =运算符重载和构造函数重载的区分
构造函数重载 //例子来源于友学网1533 class Complex{ public: Complex(double re, double im); Complex(double re); //Complex operator=(double re); }; Complex::Complex(double re, double im){ _re = re; ...原创 2019-03-21 19:09:36 · 706 阅读 · 4 评论 -
C++中等效的写法
目的 在写面向对象编程的时候,经常遇到在之前程序基础上写代码的情况,而且上机课程题目也经常是代码补完,因此看懂示例代码是很重要的能力 初始化 在初始化的时候,如果只有一个参数,那么=也可以作为对象初始化的方法 #使用实数初始化复数类 Complex c2 = 4.5; Complex c2(4.5); ...原创 2019-03-29 19:35:09 · 189 阅读 · 0 评论 -
魔鬼藏在细节里-一些C++的小细节
头文件 程序的编译先单独编译每个.cpp文件,然后再连接,因此头文件可能被多次include,所以要使用这个宏定义 #ifndef NAMEOFYOURHEADER_H #define NAMEOFYOURHEADER_H 在这里写头文件 #endif // NAMEOFYOURHEADER_H ...原创 2019-03-29 20:06:26 · 151 阅读 · 0 评论 -
C++的vector
vector C++的动态数组,应用广泛,但学起来会比较乱 官网 菜鸟教程快速入门 经验教训 如果数组越界报错,一般来说是因为数组长度是0 可能是使用了默认构造函数 可能是拷贝构造函数写错了(用=不可以) 命名域不对(这个操作真的是血泪史) 关于命名域: 如果所有派生类都需要用动态数组,就应该放在protected:里面 如果在private:很容易有一个误区就是重新声明动态数组,导致父类初始...原创 2019-04-11 21:27:08 · 123 阅读 · 0 评论