小编mat*_*lou的帖子

指针是否需要指向分配的类数组中的第一个对象才能使用“ delete [] ptrName”?

目前,我正在编写一些代码,以练习我在在线教程中研究的内容。在这段代码中,我使用指针使用“ new”分配了一些空间来创建类实例,并遍历它们以设置其名称。但是,我只能在指针位于第0位时删除它们。有人可以解释一下我是否对此想法有误,或者对此的一般规则是什么?

//头文件

#include <iostream>
using namespace std;

class Animal {
private:
    string name;
    int age;

public:
    Animal(string name = "UNDEFINED", int age = 0): name(name), age(age) {cout << "Animal created" << endl;}
    ~Animal() {cout << "Animal killed" << endl;}
    void setName(char name) {this->name = name;}
    void speak() {cout << "My name is: " << name << ", and my age is: " << age << endl;}

};
Run Code Online (Sandbox Code Playgroud)

//主文件

#include "Animal.h"

int main() {
    char name = 'a';

    Animal *animals …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
65
查看次数

标签 统计

c++ ×1