C++学习之路
YUGANHEZI
这个作者很懒,什么都没留下…
展开
-
六、 可变长数组类的实现
1. 示例:class Carray{int size; // 数组元素个数int* ptr; // 指向动态分配的数组public:Carray(int s = 0); // s代表数组元素个数Carray(const Carray & a);~Carray();void push_back(int v); // 用于在数组尾部添加一个元素v...原创 2019-11-22 11:03:10 · 294 阅读 · 0 评论 -
五、运算符重载
1. 基本概念:(1)运算符重载就是对已有的运算符(C++中预定义的运算符)赋予多重的含义,使同一运算符作用于不同类型数据时导致不同类型的行为。(2)目的:扩展C++中提供的运算符的适用范围,使之能作用于对象。(3)同一运算符,对不同类型的操作数,所发生的行为不同。如: 复数相加生成新的复数对象 complex_a + complex_b2. 运算符重载的形式:(1)运算符重...原创 2019-11-22 10:53:48 · 975 阅读 · 0 评论 -
三、 常量对象和常量成员函数
1. 常量对象:const Demo Obj; //初始化后就无法被改变。2. 常量成员函数: (1)在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数。(2)常量成员函数执行期间不应修改其所作用的对象。因此,在常量成员函数中不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(静态成员函数除外)。(3)常量成员函数的重载:两个成员函数...原创 2019-11-22 10:31:40 · 278 阅读 · 0 评论 -
二、封闭类对象
1. 任何生成封闭类对象的语句,都要让编译器明白,对象中的成员对象,是如何初始化的。具体的做法是:通过封闭类的构造函数的初始化列表。2. 封闭类构造函数和析构函数的执行顺序(1)封闭类对象生成时,先执行所有对象成员的构造函数,然后再执行封闭类的构造函数。(2)对象成员的构造函数调用次序和对像成员在类中的说明次序一致,与它们在成员初始化列表中出现的次序无关。(3)当封...原创 2019-11-22 10:30:36 · 254 阅读 · 0 评论 -
一. 静态成员
1. sizeof运算符不会计算静态成员变量class CMyclass{int n;static int s;};则 sizeof(CMyclass) 等于4.2. 普通成员变量每个对象有各自的一份,而静态成员变量一共就一份,为所以对象共享。3. 普通成员函数必须具体作用于某个对象,而静态成员函数并不具体作用于某个对象。4. 因此静态成员不需要通过对象...原创 2019-11-22 10:29:57 · 153 阅读 · 0 评论