⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_2_cpp.txt

📁 语法分析器 完成从c/c++向C++转变
💻 TXT
字号:
 
 
         General Steps in Converting C application to C++ 
 
                   John Tal - Feb 12, 1992 
 
 
 
        1.  Create Class Defintion 
 
        1.1  Identify Private And Protected Members 
 
        Identify all variables which are passed through functions 
        but are really private to the class.  These include: 
 
                o  Work Areas 
                o  Head Pointers 
                o  Counters 
 
        Place these in the private or protected class sections. 
 
         
        1.2  Install Public Access To Private Members 
 
        Identify all private or protected class member variables 
        which interact with the application.  All reading or writing 
        of non-public members should be accomplished by a public 
        class member function.  There should be NO access to non-public 
        members by the application. 
 
        1.3  Identify Non-Public Functions 
 
        All functions which are not directly called by the application 
        should be private or protected. 
 
        1.4  Modify Class Function Prototypes 
 
        Remove from all functions parameters which are now embodied 
        by class member data.  This includes the same items as 
        in 1.1. 
 
        1.5  Create Class Constructor And Descructor 
 
        These can be VOID and NULL functions are whatever is required 
        by the class.  All allocated memory should be freed in the 
        destructor. 
 
        1.6  Determine Class Access Within Heirachies 
 
        There will be elementary classes which you will use to build 
        more sophisticated classes through different methods.  Each 
        method will influence the security and general object access 
        to be defined.  It can also be helpful to distinguish between 
        what a class contains and what it does in refining class 
        interfaces. 
 
        1.6.1  Simple Inclusion 
 
        In this case a class is constructed with other classes as 
        members. 
 
        1.6.2  Derived Classes 
 
        This includes the areas of multiple-inheritance and polymorphism. 
        The derived class will inherit the class attributes of its 
        parent class(es). 
 
        1.6.3  Deferentiated Access 
 
        You may discover a situation where you want the application to 
        be unable to access certain class areas but you want another 
        class to be able to access all class areas.  One solution is 
        to use a friend modifier (NOT RECOMMENDED, the friend modifier 
        breaks many object-oriented rules).  The best solution may be 
        to create a server class which will then access others classes 
        for the application. 
 
 
        2   Modify C Source Code 
 
        2.1  Rename Or Copy Code 
 
        Rename or copy the c source files from *.c to whichever 
        extension is used by your C++ compiler (usually *.cpp). 
 
        2.2  Modify Code Comments 
 
        Comments in the source code can be left in the /* style, 
        but for those who work in both C and C++, having native 
        C++ comments in // style makes it easier to switch  
        between languages. 
 
        2.3  Modify Functions 
 
        2.3.1  Modify Function Interface  
 
        Modify function interfaces to no longer pass items such as 
        in 1.1.   
 
        2.3.2  Modify Function Comment Header Block 
 
        Modify comment header block to include security of class 
        member (private, protected, public).  Carefully examine 
        any function who's description includes the words 'and' 
        or 'or'.  These are signs of cohesion problems. 
        (If a function calculates data AND writes it to disk, 
        the function should be broken up into two functions, 
        one to calculate and one to write.) 
 
        2.3.3  Break Up Functions 
 
        Create new functions from those displaying cohesion or 
        coupling problems which can be corrected. 
 
        2.3.4  Create Interface Functions For Class Private Data 
 
        Create functions necessary for an application to read or  
        write (get/set) data which is in private or public  
        class security segments. 
         
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -