C++和C#比较1

来源:互联网 发布:拼音读法软件 编辑:程序博客网 时间:2024/05/16 12:10

1、C++实现C#控制台程序结构

using System;using System.Collections.Generic;using System.Linq;using System.Text;//C#程序结构namespace CSharpForCpp{    class Program    {        static void Main(string[] args)        {        }    }}

namespace CSharpForCpp{class Program    {public: static void Main(int argc, _TCHAR* argv[])        {        }    };}
2、C++实现对象的属性、构造函数、方法等

//C#程序结构namespace CSharpForCpp{    class Program    {        static void Main(string[] args)        {            MyObject obj = new MyObject();            MyObject obj2 = new MyObject(2,"2th MyObject");            obj.ObjectID = 1;            int id = obj.ObjectID;        }    }    class MyObject    {        private static int refCount = 0;        public static int RefCount        {            get { return refCount; }        }        public const int constId = 0;        public const string constName = "MyObject";                private int objectId;        private string objectName;        private readonly string readOnlyName;        public MyObject()        {            refCount++;            objectId = constId;            objectName = constName;            readOnlyName = objectName;        }        public MyObject(int id, string name)        {            refCount++;            objectId = id;            objectName = name;            readOnlyName = objectName;        }        public int ObjectID        {            get { return objectId; }            set { objectId = value; }        }        public string ObjectName        {            get { return objectName; }        }        public int Call(string paramName)        {            Console.WriteLine(paramName);            return paramName.Length;        }    }}

//C++声明namespace CSharpForCpp{class Program    {public: static void Main(int argc, _TCHAR* argv[]);    };class MyObject    {private:static int refCount;public://使用函数实现C#的get setstatic int RefCount();public://const 的实现static const int constId;        static const tstring constName;        private://私有成员int objectId;        tstring objectName;//使用readOnlyNameInit来实现只读变量        tstring readOnlyName;bool readOnlyNameInit;public://构造函数MyObject();        MyObject(int id, tstring name);public://使用函数实现C#的get setint ObjectID();void ObjectID(int id);//使用函数实现C#的get set        tstring ObjectName();public://方法调用int Call(tstring paramName);    };}

//C++实现namespace CSharpForCpp{//静态成员函数Mainvoid Program::Main(int argc, _TCHAR* argv[]){MyObject obj;MyObject obj2(2,_T("2th MyObject"));obj.ObjectID(1);int id = obj.ObjectID();}//初始化静态成员变量int MyObject::refCount = 0;//使用静态成员函数实现C#的get setint MyObject::RefCount(){return refCount;}//const初始化const int MyObject::constId = 0;const tstring MyObject::constName = _T("MyObject");//构造函数MyObject::MyObject(){refCount++;objectId = constId;objectName = constName;readOnlyName = objectName;readOnlyNameInit = true;}//构造函数MyObject::MyObject(int id, tstring name){refCount++;objectId = id;objectName = name;readOnlyName = objectName;readOnlyNameInit = true;}//使用函数实现C#的get setint MyObject::ObjectID(){return objectId;}void MyObject::ObjectID(int id){objectId = id;}//使用函数实现C#的get settstring MyObject::ObjectName(){return objectName;}//调用函数方法int MyObject::Call(tstring paramName){//cout << paramName << endl;return paramName.length();}}


原创粉丝点击