Minggu, 03 Agustus 2008

Perbedaan C++ dan C#

Berbeda dengan C++ yang memperbolehkan tidak memakai class, di C# setiap kamu bikin program kamu harus mendeklarasikan minimal satu class.. Hal tersebut serupa dengan yang ada pada Java. Oleh karena itu C# merupakan murni object oriented programming (OOP)..

Contoh kode program untuk menampilkan halo dunia ke konsol sebagai berikut:
pada C++:

#include
using namespace std;
int main(){
cout << "halo dunia" << endl;
}

pada C# (menggunakan .NET):

using System;
class HaloDunia{
public static Main(){
Console.WriteLine("halo dunia");
}
}

perhatikan pada contoh kode program di atas, terdapat perbedaan antara C# dan C++. tetapi pada cara penulisan antara C# dan C++ bisa dikatakan sama. Salah satunya pada setiap statement harus diakhiri dengan karakter ';' (semicolon/titik koma). Keyword-keyword yang ada di C++ juga ada pada C#, misal public, static, class, private, int, float, char, using, namespace, return dan masih banyak keyword-keyword yang ada pada C++ ada pada C#. Lho, kalo pointer gimana? kalo di Java kan ga ada, kalo di C# ada ga? Variabel pointer di C# tetap ada tapi dengan penggunaan yang dibatasi dan dalam skop unmanage.Sebagai gantinya, di C# ada yang namanya ref (reference). Fungsinya hampir sama (atau menggantikan) pointer. Contoh program:
di C++:

#include
using namespace std;

void tukar(int* a, int* b){
int c = a;
a = b;
b = c;
}

int main(){
int x = 5, y = 3;
tukar(&x, &y);
cout << x << endl << y;
return 0;
}

di C#:

using System
class Change{
public void tukar(ref int a, ref int b){
int c = a;
a = b;
b = c;
}
public static void Main (){
int x = 5;
int y = 3;
tukar(x,y);
Console.WriteLine(x);
Console.WriteLine(y);
}
}