I am seeing this question being searched a lot. So, let me start
saying this – These are two different programming languages to write software.
While C++ is an older language, C# is fairly new. C++ was created
by Bjarne Stroustrup, a Danish and British trained computer scientist in 1979. Lean
more about C++ here >
C# is more modern programming language created by Microsoft in
1999 and later was adopted as the primary language for the .NET Framework. Here
are more details about
c++ has friend function,through which access by any class..while this function is not used in c#..
C++ is used for Desktop application whereas C# is used for both (network & Desktop ) application.
normal C does not inherite .net framework. but now visual c have .net facility
at the same time visual C#(both console and windows) have. net facility
C++ supports multiple inheritance bt in C# this will achive by interface.
C++ have no primitive data types bt C# have primitive data types
C# is Microsoft crap. Plain and simple.C++ is intentionally a multi-paradigm language. Those that compare it to other languages complaining about the complexity and large feature set are correct to do so. Those that complain that it allows you to mix declarative, functional, generic, modular, and procedural programming styles with object-oriented programming are not.
C++ WAS DEVELOPED BY ONE MAN ARMY:Bjarne StroustrupC# DEVELOPED BY Anders Hejlsberg
In C# there are no global functions. Everything is a class. C# class libraries are like Java Packages, not like the C++ Standard Libraries. The C# object model is very different from the C++ object model. C# supports only single inheritence of implementation, but multiple inheritance of interfaces. C# does not support use of pointers, only references, except in “unsafe” code. Use of a C# variable before initialization is a compile-time error. All memory allocations are subject to garbage collection – you don't call delete.
C++ is regarded as a mid-level language. This indicates that C++ comprises a combination of both high-level and low-level language features. C# is designed specifically to work with the .Net and is geared to the modern environment of Windows and mouse-controlled user interface, networks and the internet.
1. c# = c# is a purely object orient language.
1.c++ = c++ is a procedural language and object oriented language.not purely object oriented language.2.c# = c# doesn't support multiple inheritance.
2.c++ = c++ support multiple inheritance.
C# is a new/modern language compared to C++ and is much more propgrammer friendly
1. automatic memory management removes headachess of allocation/deallocation of memory and memory leaks.
2.Reflection : not sure if this is is possible in C++ atleast not as easily as in C#
3.Threading and asynchrnous calls are easy.
but obviously C++ is powerful, accessing raw memory gives you complete control over performance and other issues as long as well coded.
Comparison between C++ and C# :http://msdn.microsoft.com/en-us/library/yyaad03b%28v=vs.71%29.aspx
C++ was designed and implemented by Bjarne Stroustrup, as Mahesh said. He joined the Computer Science Research Center of Bell Telephone Laboratories in New Jersey in 1979. Bell laboratories is where Unix and the C language was developed. Bjarne Stroustrup's homepage is at: http://www.stroustrup.com.
in C++ multiple inheritance can be implemented where as in c# we cant but by using interfaces
Here is a post from my blog: http://dotnetpassion.blogspot.in/2004/09/top-ten-traps-in-c-for-c-programmers.html
Here is an article