What is the Main Difference Between C and C++?

Discussion in 'C++' started by krazytechno, Mar 20, 2010.

  1. krazytechno

    krazytechno New Member

    Joined:
    Mar 7, 2010
    Messages:
    38
    Likes Received:
    1
    Trophy Points:
    0
    Occupation:
    knowing the computer world as deep as possible
    Location:
    kolkata,west bengal
    1. C was the C++ predecessor. As its name implies, alot of C remains in C++. Although not actually being more powerful than C, C++ allows the programmer to more easily manage and operate with Objects, using an OOP (Object Oriented Programming) concept.
    2. C++ allows the programmer to create classes, which are somewhat similar to C structures. However, to a class can be assigned methods, functions associated to it, of various prototypes, which can access and operate within the class, somewhat like C functions often operate on a supplied handler pointer.
    3. Although it is possible to implement anything which C++ could implement in C, C++ aids to standardize a way in which objects are created and managed, whereas the C programmer who implements the same system has alot of liberty on how to actually implement the internals, and style among programmers will vary alot on the design choices made.
    4. In C, some will prefer the handler-type, where a main function initializes a handler, and that handler can be supplied to other functions of the library as an object to operate on/through. Others will even want to have that handler link all the related function pointers within it which then must be called using a convention closer to C++.
    5. In C, there's only one major memory allocation function: malloc. You use it to allocate both single elements and arrays. In C++, however, memory allocation for arrays is somewhat different than for single objects; you use the new[] operator, and you must match calls to new[] with calls to delete[] (rather than to delete).
    6. C++ applications are generally slower at runtime, and are much slower to compile than C programs. The low-level infrastructure for C++ binary execution is also larger. For these reasons C is always commonly used even if C++ has alot of popularity, and will probably continue to be used in projects where size and speed are primary concerns, and portable code still required (assembly would be unsuitable then).
    7. In C++, you are free to leave off the statement 'return 0;' at the end of main; it will be provided automatically but in C, you must manually add it.
    8. A function can be declared in C as int fun( );. This means that fun( ) is a function without any argument or any number of arguments. But in C++, this means that the function with no argument at all.
    9. C++ support operator overloading but c doesn't support operator overloading.
     
  2. techgeek.in

    techgeek.in New Member

    Joined:
    Dec 20, 2009
    Messages:
    572
    Likes Received:
    19
    Trophy Points:
    0
    Occupation:
    EOC (exploitation of computers)..i m a Terminator.
    Location:
    Not an alien!! for sure
    Home Page:
    http://www.techgeek.in
    nice info...it wud have been better if u had explained it with examples... newbies wud love to know about this....
     
  3. hanleyhansen

    hanleyhansen New Member

    Joined:
    Jan 24, 2008
    Messages:
    336
    Likes Received:
    8
    Trophy Points:
    0
    Occupation:
    Drupal Developer/LAMP Developer
    Location:
    Clifton
    Home Page:
    http://www.hanseninfotech.com
    Yeah, this is good stuff. The examples would've been very helpful as well.
     
  4. krazytechno

    krazytechno New Member

    Joined:
    Mar 7, 2010
    Messages:
    38
    Likes Received:
    1
    Trophy Points:
    0
    Occupation:
    knowing the computer world as deep as possible
    Location:
    kolkata,west bengal
    yeah by the next time i will try to include that one as well.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice