发新话题
打印

C 中动态内存分配引发问题的解决方案

C 中动态内存分配引发问题的解决方案

  假设我们要开发一个String类,它可以方便地处理字符串数据。我们可以在类中声明一个数组,考虑到有时候字符串极长,我们可以把数组大小设为200,但一般的情况下又不需要这么多的空间,这样是浪费了内存。对了,我们可以使用new操作符,这样是十分灵活的,但在类中就会出现许多意想不到的问题,本文就是针对这一现象而写的。现在,我们先来开发一个Wrong类,从名称上看出,它是一个不完善的类。的确,我们要刻意地使它出现各种各样的问题,这样才好对症下药。好了,我们开始吧!

  Wrong.h:

#ifndef WRONG_H_
#define WRONG_H_
class Wrong
{
**:
char * str; //存储数据
int len; //字符串长度

public:
Wrong(const char * s); //构造函数
Wrong(); // 默认构造函数
~Wrong(); // 析构函数
friend ostream

TOP

  首先,大家要知道,C++类有以下这些极为重要的函数:

  一:复制构造函数。

  二:赋值函数。

  我们先来讲复制构造函数。什么是复制构造函数呢?比如,我们可以写下这样的代码:Wrong test1(test2);这是进行初始化。我们知道,初始化对象要用构造函数。可这儿呢?按理说,应该有声明为这样的构造函数:Wrong(const Wrong

TOP

发新话题