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方式创建对象

posted on 2014-02-11 20:51  snowdrop  阅读(1178)  评论(0编辑  收藏  举报