摘要: 该文转载自http://www.cnblogs.com/morewindows/archive/2011/08/26/2154198.html,感谢博主。 在C++中,静态成员是属于整个类的而不是某个对象,静态数据成员实际上是类域中的全局变量。所以在所有对象中都可以共享它。使用静态成员变量实现多个对 阅读全文
posted @ 2018-03-31 16:48 Mr.jason冯 阅读(346) 评论(0) 推荐(0)
摘要: 首先要明白为什么要重载运算符,其意义何在: 1)我们知道C++的基本数据类型,比如int,都支持 “+ ” “-” “ *” “ /” 操作,但是对于我们自定义的类型(类)的对象,并不支持这些运算符操作,重载运算符就是为了让我们自定义的类型的对象间也支持这些运算符操作。 2)C++不允许程序员自定义 阅读全文
posted @ 2018-03-31 15:03 Mr.jason冯 阅读(143) 评论(0) 推荐(0)
摘要: 定义:析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。 记住C++中有new,最终就要有对应 阅读全文
posted @ 2018-03-31 12:19 Mr.jason冯 阅读(205) 评论(0) 推荐(0)
摘要: 定义:当一个构造函数只有一个参数,而且该参数又不是本类的const引用时(即拷贝构造函数),这种构造函数成为转换构造函数。 注意:转换构造函数只能传入一个参数。 举例: class Complex { private: double real,vir; //复数的实部和虚部 public: Comp 阅读全文
posted @ 2018-03-31 11:56 Mr.jason冯 阅读(152) 评论(0) 推荐(0)
摘要: 定义:使用类的一个对象来构造和初始化另一个对象,这另一个对象之前是不存在的。 要注意理解拷贝(复制)和赋值的区别,拷贝和复制时另一个对象之前是不存在的,而赋值是两个对象都构造好了。 如:A a; A b(a); A b = a; 这是拷贝 A a; A b; b = a;这是赋值 拷贝构造函数的重载 阅读全文
posted @ 2018-03-31 11:46 Mr.jason冯 阅读(200) 评论(0) 推荐(0)
摘要: 类成员变量的初始化方式有两种:1.初始化列表 2.构造函数的函数体中赋值 1)对于普通的数据成员(如int、char、指针等) class Animal { private: double m_weight; double m_height; public: Animal(int weight,in 阅读全文
posted @ 2018-03-31 00:11 Mr.jason冯 阅读(167) 评论(0) 推荐(0)