题目请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。代码/*-------------------------------------
* 日期:2015-03-31
* 作者:SJF0115
* 题目: 实现string类
* 来源:百度
* 博客:
-------------------------------...
分类:
编程语言 时间:
2015-04-01 00:28:58
阅读次数:
226
构造函数:
作用:
1)分配空间:分配非静态数据成员的存储空间
2)初始化成员:初始化非静态数据成员
分配空间:
1)含有指针变量,需要程序员显式申请空间(使用new申请)
2)非指针变量:由系统自动分配空间
初始化成员:
1)使用赋值语句初始化:一般的变量
2)使用表达式表初始化:一般的变量 + Const成员,引用成员,对象成员
调用时...
分类:
编程语言 时间:
2015-03-30 23:15:32
阅读次数:
430
原文:http://blog.163.com/ji_wei8888/blog/static/4868044620117361747282/1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而mallo...
分类:
编程语言 时间:
2015-03-30 22:47:01
阅读次数:
205
1 C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定,两个条件(基类引用或指针、虚函数)缺一不可 虚函数的默认实参将发生静态绑定2 继承层次的根类一般都需要定义虚析构函数3 任意非static成员都可以是虚析构函数,static成员函数不能是虚析构函数(应为static成员不是属于某个对...
分类:
编程语言 时间:
2015-03-30 22:33:06
阅读次数:
172
一、与生活中的类一样,程序中的类描述了一种对象,定义一个完整的类,需要包括字段、属性、方法、构造函数和析构函数(析构函数在程序编译时自动生成,可以不必自己写)。定义类的方法和字段时,要通过访问修饰符来修饰类和类成员的访问权限。public为公共访问,可以有任何其他类成员访问。private为私有访问...
//---------------------------15/03/29----------------------------
//#9 绝不在构造和析构过程中调头virtual函数
{
/*
1:在构造时调用virtual函数有两个结果
1>如果基类实现了这个函数,就调用基类的函数。
...
分类:
编程语言 时间:
2015-03-30 09:26:04
阅读次数:
178
9.不在构造、析构函数中调用虚函数 1.在构造函数和析构函数中调用虚函数会产生什么结果呢? #include using namespace std; class cls1{ public: cls1(){ newMake(); }; ~cls1(){ deleteIt(); }; virtual ...
分类:
其他好文 时间:
2015-03-29 19:34:52
阅读次数:
178
1.为何析构函数不应该抛出异常? 有两种情况: 1).假设析构函数中有众多语句,而第一条语句抛出异常(或者其他语句),那么抛出异常以后的语句就得不到执行。而通常我们在析构函数中写的是清理资源(或回收资源)的代码,那么部分资源就不会被回收,会造成内存泄漏或程序提前结束(abort的作用)。 2).析构...
分类:
其他好文 时间:
2015-03-29 19:31:42
阅读次数:
107
7.为多态基类声明虚析构函数 1.为多态基类声明虚析构函数 code1: class A{ public: int* a; A():a(new int(5)) {} ~A(){ delete a; } }; class B:public A { public: int *b; B():b(new i...
分类:
其他好文 时间:
2015-03-29 19:31:34
阅读次数:
127
5.了解C++默默编写并调用哪些函数 1.C++空类 C++会为一个空类建立以下函数 (1).默认构造函数 (2).默认拷贝构造函数 (3).析构函数 (4).赋值运算符(如果成员包含...
分类:
编程语言 时间:
2015-03-29 19:21:53
阅读次数:
158