菜鸟求解

  1. #include<iostream>
  2. #include <stdio.h>
  3. class Sequence{
  4.     public:
  5.         Sequence(int count=10,string name = "abc");
  6.         void show();
  7.         ~Sequence();

  8.         int* _content;
  9.         int _count;
  10.         string _name;

  11. };

  12. Sequence::Sequence(int count,string name){
  13.     _count = count;
  14.     _content=new int[count];
  15.     _name = name;
  16.     for(int i=0;i<count;i++){
  17.         _content[i]=i;
  18.     }
  19.     this->show();
  20.     cout<<"constructor  over!!"<<endl;
  21. }

  22. Sequence::~Sequence(){
  23.     cout << "execute ---"<<_name;
  24.     delete [] _content;
  25. }

  26. void Sequence::show(){
  27.     cout<<endl<<"{";
  28.     for(int i=0;i<_count;i++){
  29.         cout<<_content[i]<<" ";
  30.     }
  31.     cout<<"name = "<<_name<<endl;
  32.     cout<<"}"<<endl;
  33. }

  34. int main(){
  35.     Sequence s1;//这里有疑问,运行结果并没有调用析构函数,为啥啊?
  36.     //s1.~Sequence();
  37.     //s1.show();
  38.     //s1.~Sequence();
  39.     //s1.show();
  40.     //s1 = Sequence(3,"s1");
  41.     //s1.show();
  42.     //Sequence(5,"hello");
  43.     system("pause");
  44. }
复制代码

作者: qwerboo   发布时间: 2011-06-14

....

void test()
{
Sequence s1;
}

int main(){
    test();
    system("pause");
}
...

作者: int-main   发布时间: 2011-06-14

哇 果然正确了 但是为啥啊? 能讲下嘛,或者推荐一本书看看,谢谢了!

作者: qwerboo   发布时间: 2011-06-14

C++对象模型

作者: int-main   发布时间: 2011-06-14