using namespace std; class TestNew { private: int ID; public: TestNew(int ID); ~TestNew(); }; TestNew::TestNew(int ID) { //this->ID = ID; cout << "shushihua--id=" << ID << endl; } TestNew::~TestNew() { std::cout << "对象 " << this->ID << " 执行析构函数" << std::endl; } void Test() { TestNew test(1); //创建对象1,不使用new,在栈上创建,用完内存会自动释放回收 cout << "--------" << endl; TestNew *pTest = new TestNew(1); //创建对象2,使用new,在堆上创建,需要手动delete这块空间
delete pTest; } int main() { Test(); //这个地方有点问题,pTest没有进行处理,会导致内存泄露,实际应用中要注意呀 }
运行结果:
shushihua--id=1
--------
shushihua--id=1
对象 5189160 执行析构函数
对象 2686760 执行析构函数
c++两种创建对象方式:
1.直接创建对象
2.new方式创建对象