阅读下面的程序,领会其中用到的设计方案、技术手段与算法。
/*
对于要定义的字符串类CMyString,
数据成员包括:
- 字符串的长度;
- 指向字符串第一个字符的指针
成员函数包括:
- 不带参数的构造函数;
- 带一个类型为const char *类型的参数(用于对字符串初始化)的构造函数;
- 带一个const CMyString&类型的复制构造参数;
- 析构函数;
- Strlen...
分类:
其他好文 时间:
2015-05-08 14:58:29
阅读次数:
175
/*
*copyright(c) 2015,烟台大学计算机学院
*All rights reserved。
*文件名称:第八周(字符串类)
*作者:王忠
*完成日期:2015.4.29
*版本号:v1.0
*
*问题描述:构造String类的加、减运算。其中,s1 + s2将两个字符串的连接起来;s1 - s2是将s1的尾部空格和s2的前导空格去除后的连接。
提示:有指针成员,设...
分类:
其他好文 时间:
2015-04-29 19:57:06
阅读次数:
196
请构造String类的加、减运算。其中,s1 + s2将两个字符串的连接起来;s1 - s2是将s1的尾部空格和s2的前导空格去除后的连接。
提示:有指针成员,设计时要注意。这个,你懂的。
#include
#include
using namespace std;
class String
{
public:
String( ); ...
分类:
其他好文 时间:
2015-04-24 14:24:35
阅读次数:
159
这个功能其实并不常用,然而在多线程和回调函数中要调用默认对话框类的对象成员或方法还是可能要用到的,所以做下记录。
首先声明一个全局变量用以存储默认对话框类对象指针:
LPVOID pParam;//对话框对象指针 在默认对话框类的初始化函数中给该指针进行赋值:
pParam = (void *)this; 在需要调用默认对话框类对象成员或方法处,通过如下代码实现调用:...
分类:
编程语言 时间:
2015-04-23 17:24:48
阅读次数:
136
#include #include#includeusing namespace std;//智能指针的使用//智能指针类class U_ptr{ friend class hashptr; int *ip;//在hashptr中实际的需要定义的指针成员 size_t use;//使用次数的计数 U...
分类:
其他好文 时间:
2015-04-06 17:12:42
阅读次数:
163
#include #include#includeusing namespace std;//定义值类型/*复制构造函数不再复制指针,它将分配一个新的 int 对象,并初始化该对象以保存与被复制对象相同的值。每个对象都保存属于自己的 int 值的不同副本。因为每个对象保存自己的副本,所以析构函数将无...
分类:
其他好文 时间:
2015-04-06 17:02:29
阅读次数:
161
实际编程中有时会碰到两个类之间交叉引用的问题,比如一个类A含一个类B的指针成员,一个类B含类A的指针成员,两个类相互“关联”;而且更重要的是:对类B的任意修改应该同时改变A中的B指针指向的值,同理适用于类A。良好的设计应当可以通过任意一个类的接口来同时改变A、B两个对象,而不必调用两个类的对应接口。
boost::enable_shared_from_this提供了这个能力
代码:
A.h:...
分类:
编程语言 时间:
2015-03-16 16:34:55
阅读次数:
250
包含动态内存分配的类需要自定义拷贝构造函数。无定义默认为浅拷贝,此时参数对象和创建对象的指针成员指向同一块内存,调用二者的析构函数时第一对象调用释放内存成功,第二个对象会再次进行释放内存,此时运行时出错double free故:应定义,且为深拷贝浅拷贝实例代码: 1 #include 2 3 cl....
分类:
其他好文 时间:
2015-03-06 12:30:03
阅读次数:
226
boost::bind 介绍 这篇文章介绍boost::bind()的用法, 文章的主要内容是参考boost的文档。1. 目的 boost::bind 是std::bindlist 和 std::bind2nd的结合体。它提供一个任意的函数对象(仿函数)、函数、函数指针、成员函数指针。 它可以绑定任...
分类:
其他好文 时间:
2015-01-31 01:48:50
阅读次数:
255
包含指针的类要特别注意复制控制,原因是复制指针只复制指针中的地址,而不会复制指针所指向的对象。C++类采用以下3种方法之一管理指针成员:(1) 指针成员采取常规指针型行为。这样的类具有指针所有的缺陷但是无需特殊的复制控制。(2) 类可以是实现“智能指针”行为。指针所指向的对象是共享的,但类能够防止悬...
分类:
编程语言 时间:
2015-01-06 09:53:54
阅读次数:
243