title: explicit call to destructor is not destroying my object why?
body: <p>I'm calling the destructor to deallocate memory but it is not deleting my object. What is the reason behind it?</p>
  
  <p>my code is like this:</p>
  
  <pre><code>class A
  {
  public: 
      int a;
      A()
      {
          cout &lt;&lt; "a" &lt;&lt; endl;
      }
  };
  
  class B :public A
  {
  public: 
      int b;
      B()
      {
          cout &lt;&lt; "b" &lt;&lt; endl; a = 10; b = 20;
      }
      ~B()
      {
          cout &lt;&lt; a &lt;&lt; b &lt;&lt; endl;
      }
  };
  </code></pre>
  
  <p>and I am using it like:</p>
  
  <pre><code>int main()
  {
      {
          B b;
          b.~B();
          b.b=100;  // why this step is executed?
      }
      int x;
      cin&gt;&gt;x;
      return 0;
  }
  </code></pre>