动态创建对象(new和delete)
在c语言中,如果想动态分配内存:
开辟空间用malloc,colloc,realloc,释放内存用free。
但是其中也有一定的问题:
1,程序员必须确定对象的长度。(多了少了都不行)
2,malloc返回值是void*指针。在c++中必须使用强转之后才能通过。
3,malloc可能会申请内存空间失败,所以必须判断返回值来确保内存分配成功。
综上,c的动态内存分配函数太复杂,容易混淆。c++中推荐使用new和delete。
new+类名的返回值是对应类的指针(需要用指针来接收)
new来创建对象的同时会调用类Person的构造函数,但是不会调用析构函数,因为动态创建内存是在堆上创建的,如果想要释放,那么就需要程序员自己手动的释放。(使用delete)
class Person
{
public:
Perso