C++类与对象
lanzhihui_
!
展开
-
C++类中的静态成员函数--static
为了能方便访问静态数据成员,C++定义了一种特殊的成员函数来原创 2014-09-18 21:30:53 · 1054 阅读 · 0 评论 -
Effective C++之‘宁以pass-by-reference-to-const替换pass-by-value’
Effective C++之‘宁以pass-by-reference-to-const替换pass-by-value’缺省情况下C++以by value 方式(一个继承自C的方式)传递对象至函数。除非你另外指定,否则函数参数都是以实际实参的复件(副本)为初值,而调用端所获得的亦是函数返回值的一个复件。这些复件(副本)由对象的copy构造函数产出,这可能使得pass-by-value成为费时原创 2014-10-21 16:25:36 · 1642 阅读 · 0 评论 -
派生类的构造函数与析构函数
派生类的构造函数与析构函数:派生类不能继承基类的构造函数和析构函数,必须自己定义。由于派生类与基类的特殊关系,在设计派生类的构造函数时,不仅要考虑派生类新增数据成员的初始化,也要考虑基类数据成员的初始化。派生类的数据成员由所有基类的数据成员和派生类新增的数据成员共同组成,因此,构造派生类的对象时,必须对这些数据成员进行初始化。派生类构造函数初始化的执行顺序:先调用基类构造函数初始化原创 2014-10-18 14:27:23 · 1005 阅读 · 0 评论 -
组合类构造函数、析构函数详解
组合类:组合类的概念就是:指在一个类的数据成员中含有一个或多个类的对象,拥有这样结构的类就叫组合类。这种以数据成员身份出现的类对象就叫子对象。继承和组合都可以实现一个类重用另一个类的行为功能,那么如何选择用组合类还是用继承?当B与A属于同一类的范畴,并且B"is a kind of"A,一般应该把B设计为“继承”A;而如果B与A不属于同一类范畴,但是B"is a原创 2014-10-18 16:25:47 · 10092 阅读 · 0 评论 -
const成员函数总结
const 成员函数:类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表原创 2014-10-17 15:39:30 · 1187 阅读 · 0 评论 -
C++中的private、protected、public区别
private, public, protected 访问标号的访问范围原创 2014-10-26 22:16:30 · 1158 阅读 · 0 评论 -
C++虚函数的理解和举例
//虚函数的作用:允许在派生类中重新定义与基类同名的函数,//并且可以通过基类指针或引用来访问基类和派生类中的同名函数#include#includeusing namespace std;class Student{public: Student(int n,char nam[],float s); //void display(); //基类定义输出函数,原创 2014-08-05 23:58:09 · 838 阅读 · 0 评论 -
C++纯虚函数的理解
声明纯虚函数的一般原创 2014-08-06 00:09:15 · 662 阅读 · 0 评论 -
友元函数&友元类
C++类具有封装和信息隐蔽的原创 2014-09-08 21:08:42 · 784 阅读 · 0 评论 -
C++三种继承方式--公有继承、保护继承、私有继承
//公有继承:基类的公有和保护成员在派生类中仍然是公有和保护成员,可以由派生类的成员函数来访问,//派生类对象可以访问公有的成员,至于基类的私有成员,无论是派生类的成员函数,还是派生类的对象,都无法访问//私有继承:基类所有的非私有成员在派生类中一律变成派生类的私有成员,派生类只能通过它的成员函数来访问,//派生类对象不能访问,至于基类的私有成员,只能由基类的成员函数来访问。//保护继承:原创 2014-09-09 18:23:47 · 1481 阅读 · 0 评论 -
C++实现类String--含构造函数以及重载>>,<<,>,<,==,=
交流学习,欢迎指正!原创 2014-09-08 13:58:33 · 2317 阅读 · 0 评论 -
C++类中的静态数据成员--static
使用静态成员的目的是为了解决数据共享的的问题。原创 2014-09-08 17:32:10 · 4756 阅读 · 0 评论 -
堆对象的new与delete
直接贴代码://堆对象正确使用范例---1#include#includeusing namespace std;class A{public: A(){} A(int inum,string iname):num(inum),name(iname){} int getNum() const { return num; } strin原创 2015-02-03 14:27:29 · 632 阅读 · 0 评论