可以看到,只有父类的析构函数被调用了。子类的析构函数并没有被调用,则产生错误。 这一点上,对于原始的指针或者std::unique_ptr。其表现是一致的。也符合C++基本的语法。 但是对于std::shared_ptr。即便父类析构函数并非虚函数,其子类的析构函数依然可以被调用。 对于此种行为的原因尚未查明(待更新)。也许这是...
可以看到,只有父类的析构函数被调用了。子类的析构函数并没有被调用,则产生错误。 这一点上,对于原始的指针或者std::unique_ptr。其表现是一致的。也符合C++基本的语法。 但是对于std::shared_ptr。即便父类析构函数并非虚函数,其子类的析构函数依然可以被调用。 对于此种行为的原因尚未查明(待更新)。也许这是...
会,子类析构会自动析构父类和所有成员。反过来用父类指针delete只会当父类对象析构不会调用子类的析...
应该是对吧,子类虚的,没有重载析构函数的话,自然是调用父类的析构函数