首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家看这个程序输出是什么解决方法

2012-03-25 
大家看这个程序输出是什么 #includeiostreamusingnamespacestdclasss{public:s(){cout s endlp

大家看这个程序输出是什么

#include   <iostream>
using   namespace   std;

class   s{
public:
        s(){cout   < <   "s "   < <   endl;   p   =   "hellow ";}
        static   char*   p;
};


class   v{
public:
        v(){cout   < <   "v "   < <   endl;}
};

class   A{
       
public:
        const   static   int   n   =   9;
        static   char   z[n];
        static   char*   p2;
        A()   {cout   < <   "A() "   < <   sizeof(z)   < <   endl;}
        v   v1;
        static   s   s1;
        static   v   v2;
};


char   A::z[n]   =   "sss ";
char*   A::p2   =   A::s1.p;
v     A::v2;
s     A::s1;
char*   s::p   =   "world ";

class   B{
public:
        B(){
                cout   < <   "B() "   < <   endl;
        }
};

class   C   :   public   A,   virtual   public   B{
public:
        C(){
                cout   < <   "C() "   < <   endl;
        }
};


int   main(){
        cout   < <   A::p2   < <   endl;
       
        return   0;
}

[解决办法]
debug...
[解决办法]
程序有错?
[解决办法]
楼主,你把char *换成string就知道原因了。
你以为初始化是要执行语句的,其实错了。
对(以非0值进行初始化)内建数据类型,是没有初始化过程的,它们的初始值是在编译的时候,直接填入代码段,在运行的时候直接映射入内存的。

热点排行