方便啊﹐如果不是﹐你解釋Delphi那樣有什么好處啊﹐不覺得太累了嗎

解决方案 »

  1.   

    应该是第二种写法编译实现更容易吧
    delphi,c++允许那样是因为它们的定义和实现可以分别写在两个文件里,个人认为
      

  2.   

    当然是 申明和实现在一起, 清晰明了, 容易管理啊做c++要先定义在实现, 维护两个地方要是atl的话, 还是3处呢, 烦人啊
      

  3.   

    感谢您使用微软产品!这样做也正是C#设计的初衷,使得代码清晰,便于管理。没有了C++中的一大堆头文件。此外,.NET中的assembly实现了自描述性。各种信息都包含在assembly的manifest中,这使得对它的应用带来了莫大的方便,不用再像C++中,又要头文件,又要lib文件。总之,代码简洁,便于管理是C#的一大特点。-微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  4.   

    感谢您使用微软产品!这样做也正是C#设计的初衷,使得代码清晰,便于管理。没有了C++中的一大堆头文件。此外,.NET中的assembly实现了自描述性。各种信息都包含在assembly的manifest中,这使得对它的应用带来了莫大的方便,不用再像C++中,又要头文件,又要lib文件。总之,代码简洁,便于管理是C#的一大特点。-微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  5.   

    header文件(.h)在C++里扮演的就是MetaData的角色。
    如果你的.cpp里要引用一个类,那么你就必须包含该类的定义.h文件。这种分割定义的方法是由C++缺乏二进制级别的描述信息决定的——当然,更深层次的原因的C++的可移植性。.NET的Assembly里有二进制级别的类型定义信息(MetaData),编译器可以很容易的取得信息从而进行编译,所以就不需要单独的.h文件了。
      

  6.   

    分开清晰吗? 分开还显麻烦,累人。C#与 JAVA 都是一个文件,并且都实现了自描述。哦呵,微软专家也在,偶就。
      

  7.   

    我一向比较讨厌多开窗口,太乱,尤其跟踪时没办法,开Watch,Thread,CPU等等,
    就连我用Delphi,我也是就开代码区,主菜单窗口,属性窗口。
    在DELPHI中,我想看一个类中到底有什么属性,事件,方法,一目了然,然后关注某一个方法,就跳转就行,很方便。
    我看JAVA的代码的时候,有时一个类有上千行代码,我想看个全貌都不行,就得用类信息窗口看。
    定义与实现相分离,这样就可以既可看到森林,又可看见树木,可上可下。可是C#和JAVA都是一眼就让我看见树木,想看森林就得换套家伙。DELPHI一个代码区全部搞定,很舒服,BORLAND很照顾程序员的。
    我也不喜欢C++的.h文件,定义和实现干吗放两个文件来回跳,又多一个窗口
    你的工作台清洁,你的头脑也就清晰,你试试你身边都是乱纸和灰尘,你会有心情工作吗
    不过这也没什么大碍,我用JAVA,C++,DELPHI,C#都无所谓,只是那个舒服并且是客户要求的我就用那个。可是JAVA,C#让我用起来不舒服,不是现在是客户体验时代,咱程序员也得体验一回呢吧?
      

  8.   

    我一直用java。不过我觉得定义和实现相分离可能要更好一点。这样才体现了“面向接口编程”的特点。一个软件模块的客户模块只关心你提供的接口,它对你的实现不关心,所以分离的结果是使模块间的结构更清晰。
      

  9.   

    Ok, 如果说分出Header是使接口于是先分离的话,private members为什么要出现在Header里呢?
    假如一个C++类,其方法定义编译到了.obj/lib/dll里,然后我需要用这个类,作为一种Hack手段,我可以轻易的把.h文件里所有的private成员改成public,然后就可以随意访问了,这是定义与实现分离/结构更清晰的表现?
      

  10.   


    我想这也是微软的垄断手段吧!
    因为如果你使用vs.net就不会感到这有什么不好!以上存属私人见解,不负任何法律责任!