自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Object类的equals方法override

以下节选自java核心技术卷一:注意别犯下面的错误:(为避免错误可以用@override标记)

2019-10-31 20:34:22 297

转载 Java代码中如何交换两个对象

Java代码如何交换对象假设我们有一个叫Car的类,这个类中也有一些属性。我们创建Car类的两个对象,一个叫car1,另一个叫car2,那如何交换car1与car2的数据呢?交换成员:例如,如果这个Car类只有一个整型的车号,我们可以通过交换两个车的号码来交换两个车。// A Java program to demonstrate that we can swap two// object...

2019-10-30 13:10:01 1316

原创 动态内存分配与特殊成员函数

当类成员中不使用new时,不论是在继承关系中还是非继承关系中,一般都可以依赖自动生成的特殊成员函数进行初始化、赋值等操作。但当类成员中使用new初始化时情况变得复杂:一、非继承关系时1.用类对象初始化类对象,应自定义复制构造函数并在其中添加new以进行深度复制,还应该自定义显式析构函数并在其中添加delete释放指针空间。2.用类对象给类对象赋值,应重载赋值运算符:在其中先判断实参与*th...

2019-10-26 17:06:43 183

转载 c++纯虚函数与抽象基类

内容为转载,原文链接:https://blog.csdn.net/hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实...

2019-10-26 13:34:20 447

原创 分清重载、重定义和重写

重载、重定义和重写,这些相似而不相同的名词让初学者很是困惑,以下是我所理解的三者,希望对初学者(我也是初学者:))有所帮助,若有错误欢迎批评指正:一:重载(overload) (静态联编)重载发生于同一个类中(相同的作用域中),重载函数的函数名必须相同,参数必须不同,函数的返回值可以不同。函数重载从底层上看它们还是不同的函数。二:重定义(redefining)(静态联编)也称为隐藏,在继承...

2019-10-26 11:55:40 471

原创 C++虚函数注意事项(个人总结)

若有需要,必须在基类中声明虚函数。(为了可读性也应在派生类中相同函数声明)考虑虚函数的条件:若基类中的成员函数需要在派生类中作改动(注意不是重载,参数类型不能变!!),则考虑在基类中声明为虚函数;若不改动则尽量不要虚函数。一些限制:只有类成员函数才能声明为虚函数。构造函数不能为虚函数,析构函数尽量声明为虚函数。指针和引用:基类指针或引用可以指向/引向派生类,但不能访...

2019-10-26 01:25:48 188

原创 练习:模拟atm机的等待队列

代码如下://queue.h#ifndef QUEUE_H_#define QUEUE_H_//顾客类 class Customer{ private: long arrive;//顾客到达时间 int processtime;//顾客受理时间 public: Customer(){arrive = processtime = 0;}//构造函数 初始化为0 ...

2019-10-24 11:51:01 229

原创 在构造函数中使用new的注意事项

以下内容节选自c++ primer plus v6 p446~447

2019-10-23 11:16:09 300

原创 浅析复制构造函数

类的成员函数中有一类很值得注意,它们会在程序员未声明定义时自动生成,这类函数叫做特殊成员函数。忽略它们时编译器一般不会报错,但可能会导致意想不到的严重问题。特殊成员函数包括构造函数,折构函数,赋值运算符等。这里我们主要探讨一下构造函数中的复制构造函数(Copy Constructor )。在初始化类对象时,我们一般使用默认构造函数或程序员自己定义的非默认构造函数。进一步来说,当我们使用类对象...

2019-10-22 18:47:30 280

原创 练习:使用Vector类模拟随机漫步

以下是程序代码://vector.h#ifndef VECTOR_H#define VECTOR_H#include<iostream>namespace VECTOR{ class Vector{ public: enum Mode{RECT, POL}; private: double x; double y; double ma...

2019-10-21 21:37:36 136

原创 为什么需要友元函数

以下内容节选自c++ primer plus 6版 p391

2019-10-21 18:21:01 593

原创 关于函数参数传递类型的探讨

节选自c++ primer plus 第六版 p274

2019-10-18 20:02:40 103

原创 c++内联函数与c宏

在c中我们可以使用带参数的宏来进行类似函数的实现:使用宏不需要检查变量类型,在某些情况下对于实现简单的函数比较方便;使用带参数的宏可以避免由于函数调用带来的额外开销。但要注意带参数的宏和函数的区别:宏在编译之前就被处理掉了,不参与编译,不会占用内存,其本质仅仅是字符串的替换。而函数会被编译,会给它分配内存,每次调用函数,就是执行这块内存中的代码。所以使用宏可能会发生一些难以察觉的副作用。c+...

2019-10-17 19:00:11 280

原创 初学者易犯的错误之一

将数组作为函数参数时,一定注意信息是否完整,例如:想利用自定义函数计算数组的元素和:int sum(int a[]){ int ans = 0; for(int i = 0;i < sizeof(a); i++) ans+=a[i]; return ans; }这个函数时错误的,因为传递参数时只传递了数组的首地址,而未告知函数数组元素个数,所提sizeof()无法计算数组大...

2019-10-15 14:09:45 101

原创 尝试用gdb简单调试程序

注:加粗为用户输入命令C:\Users\robotninja>gdb a.exeGNU gdb (GDB) 7.6.1Copyright © 2013 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.htmlThis is fre...

2019-10-15 11:50:40 407

原创 Windows 系统下如何使用gcc

用到MinGw (Minimal GNU on Windows)工具。下载 min-gw 安装程序链接为http://sourceforge.net/projects/mingw/files/运行 Download mingw-get-setup.exe注意安装的目录修改环境变量选择计算机—>属性—>高级系统设置—>环境变量,在系统变量中找到 Path 变...

2019-10-15 11:02:27 304

原创 从学校oj上一道题引发的思考

作为一个c/c++菜的不能再菜的菜鸟,在做学校oj时遇到了这么一道对我来说有点难度的题:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。我于是花了不少时间终于写了出来:#include<iostream> int main(){ using namespace std; int n,*p; cin&g...

2019-10-13 15:59:53 222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除