sjbird331 发表于 2008-6-18 09:59

C++继承性

本人初学C++,最近看到继承,有点困惑,自己写了一个小程序,其中的地方没能理解,请高手指教,谢谢
#include "iostream.h"
#define MAX 5
class A
{
  public :
         char aa[MAX];
         int  ii;
         char cc;
         A()
         {
                 int i = 0;
                 while(i < 3)
                 {
            aa[i] = 'a';
                        cout << aa[i];
                        i++;
                 }
                 cout << endl;
         }

};

class B : public A
{
  private :
      int bb;  
};

void main()
{
    B b;
        int i = 0;
    while(b.A ::aa[i]!='\0')
        {
       cout << b.A :: aa[i];
           i++;
        }
        cout << endl;
        b.A :: ii = 3;
        cout << b.A :: ii << endl;
        b.A :: cc = 'a';
        cout << b.A :: cc << endl;
}
为什么程序的结果竟然是这样:

mqh21364 发表于 2008-6-18 11:19

烫是应为你的aa数组里面没有'\0'。
你从来没有把‘\0’存给aa。

页: [1]

编程论坛