还是那句话,我们继续在简单的代码中,体会学习C++,本节主要是体会学习类的进阶知识.一.构造函数与析构函数当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。构造函数(Constructor)是一种特殊的成员函数,它的名字和..
分类:
编程语言 时间:
2015-09-17 21:41:15
阅读次数:
152
(1)当未定义时,编译器会自动生成:构造函数,拷贝构造函数,析构函数,赋值构造函数。1. 构造函数与析构函数:初始化列表:(1)构造函数的初始化列表里发生在下面函数体的前面。(2)可以在初始化列表里向基类的特定构造函数传递参数。(3)类的非静态const成员和引用成员只能在初始化列表里初始化,因为他...
分类:
其他好文 时间:
2015-09-15 16:23:38
阅读次数:
128
先来段代码: 1 #include 2 using namespace std; 3 4 class Clock{ 5 private: 6 int H,M,S; 7 public: 8 Clock(int h=0,int m=0,int s=0){ 9 H=h,...
分类:
其他好文 时间:
2015-09-03 19:06:24
阅读次数:
173
第 9 章 类的构造函数、析构函数与赋值函数
1.构造函数初始化表的使用规则:
1)如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。
2)类的 const 常量只能在初始化表里被初始化,因为它不能在函数体内用赋值的方式来初始化。
3)类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,这两种方式的效率不完全相同。
2. 类 String 的构造函数与析构函数
...
分类:
编程语言 时间:
2015-08-04 22:54:24
阅读次数:
165
构造函数与析构函数建立的分析:1、以引用作为接收参数(形参)时,不构造临时对象结果为:分析:调用Base的构造函数建立base1,调用Base的构造函数建立base2,构造t1对象时应先构造好其数据成员,由于以引用接收,则不会构造临时对象,所以调用Test的构造函数构造t1对象,同理,构造t2对象;...
分类:
其他好文 时间:
2015-07-27 22:43:31
阅读次数:
112
转自http://blog.csdn.net/tqtuuuu/article/details/6652144构造函数 对于C++的构造函数,暂且将其分为以下几类:1. 默认构造函数2. 隐士转换构造函数3. 拷贝构造函数4. 其它构造函数 1. 默认构造函数表示没有任何参数的构造函数,当自定义任何....
分类:
编程语言 时间:
2015-07-27 12:30:44
阅读次数:
135
1.构造函数和析构函数里不应调用虚函数虚函数的多态是通过虚表和虚指针实现。虚表和虚指针是在基类和派生类初始化时逐层完善和建立。每个对象均有自己的虚表和虚指针。所以在基类构造函数里的虚表和虚指针是不完善的,调用虚函数会产生意外的结果。虚函数实现了晚绑定,析构是从最外层(晚派生)向最里层(早派生)进行析...
分类:
其他好文 时间:
2015-07-25 07:07:03
阅读次数:
140
mystring operator +(const char *str, const mystring &it){ mystring stro; strcpy(stro.s, str); strcat(stro.s, it.s); printf("stro = %p\n", stro.s); ret...
分类:
其他好文 时间:
2015-07-16 02:01:33
阅读次数:
89
做个实验,看一下成员变量的构造析构,父类子类的构造析构,以及虚函数对调用的影响。 1 #include 2 using namespace std; 3 4 class Member 5 { 6 public: 7 Member(int n):m_n1(n) 8 { 9 ...
分类:
编程语言 时间:
2015-07-15 20:46:31
阅读次数:
166
学习C++ -> 构造函数与析构函数一、构造函数的介绍 1. 构造函数的作用 构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数。一般来说, 构造函数有以下三个方面的作用: ■ 给创建的对象建立一个标识符; ■ 为对象数据成员开辟内存...
分类:
编程语言 时间:
2015-06-26 12:29:54
阅读次数:
170