C++点滴:创建对象数组的时候,不要使用继承

原创 2006年06月15日 15:43:00
创建对象数组的时候,不要使用继承,因为如果一个数据声明为父类型,但是实际使用子类型创建,那么在删除对象数据的时候,则只会调用父类型的析构函数,而不会调用子类型的析构函数,造成内存泄漏,例如:
class Base
{
    public:
        Base(){cout << "Base()" <<endl;}
        ~Base(){cout <<"~base()" <<endl;}
   
};
class Son:public Base
{
    public:
        Son(){cout << "Son()"<<endl;}
        ~Son(){cout << "~Son()" << endl;}  
};
void printClass()
{
    //Son s[10];   
    Base *b = new Son[10];
    delete[] b;//只会打印出10个~base(),而不会调用~Son()
}

C++对象数组的创建

使用一维指针创建对象数组: [cpp] view plaincopy //=======================================...
  • RationalGo
  • RationalGo
  • 2014年07月27日 23:59
  • 2714

new创建对象数组 比较 new单个对象的优点

事实上
  • luzhihui5885
  • luzhihui5885
  • 2010年07月29日 15:48
  • 7751

C++ 类对象数组

对象数组是指一个数组元素都是对象的数组 创建对象数组的时候只能调用默认构造函数初始化对象...
  • Slience_Perseverance
  • Slience_Perseverance
  • 2014年02月28日 22:11
  • 27943

C++ 动态分配对象数组

#include using namespace std; class MyClass{ int x, y; public: MyClass(){} void setvalue(int x1,...
  • Slience_Perseverance
  • Slience_Perseverance
  • 2014年03月01日 08:28
  • 4794

C++对象、对象数组的排序

C++对象、对象数组的排序
  • yinkaishikd
  • yinkaishikd
  • 2015年06月24日 12:20
  • 1915

对C++中用vector创建数组对象的认识

vector 是存储在标准库中的,它不是一个类,是一个类模板。 vector 是用来动态创建数组对象的。 声明形式: vector 数组对象名(表达式); 注意:用vector 创建的数组对象...
  • CSDN_LYY
  • CSDN_LYY
  • 2015年01月24日 22:45
  • 1290

C++ 对象数组

一、为什么对象可以有数组 类是一种特殊的数据类型,它当然是C++合法的类型,自然就可以定义对象数组。 二、何为对象数组 在一个对象数组中各个元素都是同类对象, 例如:一个班级有50个学生,每个...
  • chentaowangyuanyuan
  • chentaowangyuanyuan
  • 2015年08月12日 15:35
  • 3211

c++类的创建和继承

1.类的定义格式: #ifndef _AAAAAA_ #define _AAAAAA_ //引入类中需要用到的头文件,定义宏等 class A{ private: public: protect...
  • T_W_S
  • T_W_S
  • 2013年05月30日 17:11
  • 2056

Java中对象数组的创建于使用

Java中创建对象数组的几种基本方法 首先我们需要创建一个class class Student{ String name; double score; String num; Stude...
  • ACMLCER
  • ACMLCER
  • 2015年07月20日 17:22
  • 1859

C++中的对象数组使用方法

类是对象的抽象,我们可以使用一个类来定义很多的对象,然后每个对象都有自己的属性。 当我们使用类来定义很多相同结构的对象的时候,我们可以采取对象数组的方法。 例如,一个班有50个学生,我们定义了一个学生...
  • const_
  • const_
  • 2013年09月05日 15:22
  • 5344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++点滴:创建对象数组的时候,不要使用继承
举报原因:
原因补充:

(最多只允许输入30个字)