栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++类与对象跟C#的异同

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++类与对象跟C#的异同

第一、抽象逻辑相同

        都是把现实世界的事与物,抽象写成类(比如钟表设计图),然后实例化成对象后使用(如果由设计图生产出了一个表)。构造与析构是一样的,有默认的,与可以自定义。

第二、大多数关键字相同,如Class,public,private,protected等,但写法不一样

        C++

        public:下面,可以跟好多个方法,以及属性。

        C#

        每个方法跟属性后面,都要带个公有私有定义。

        public void setTime(int nowH,int nowM,int nowS)         

第三、文件形式不同

        C++,创建一个类,会同时创建两个文件,一个是h头文件(这个文件有点像C#的接口),另一个是cpp实现文件。

        C#,创建一个类,只会新建一个CS文件。

 第四、主函数入口定义不一样

        C++,默认为int main(),需要返回整型主方法。

        C#,static void Main(string[] args),是个静态,还返空的主方法。

第五、实例化方式不同,但调用方式一样。

        C++,

        Clock Clock1;//实例化
        Clock1.showTime();//调用

        C#,

        Clock Clock1 = new Clock();//实例化

        Clock1.showTime();//调用

C++代码(以钟表类为例):

文件1:Clock.h,以下是代码

#ifndef CLOCK_H_
#define CLOCK_H_

class Clock {
public:
    Clock();

    void setTime(int nowH,int nowM,int nowS);
    void showTime();

virtual ~Clock();

private:
    int hours;
    int min;
    int sec;

};
#endif

文件2:Clock.cpp,以下是代码

#include

#include "Clock.h"
using namespace std;


Clock::Clock() {
    // TODO Auto-generated constructor stub
    hours = 0;
    min = 0;
    sec = 0;
}

void Clock:: setTime(int nowH,int nowM,int nowS){
    hours = nowH;
    min = nowM;
    sec = nowS;
}

void Clock:: showTime(){

    cout << hours << ":" << min << ":" << sec << endl;

}

Clock::~Clock() {
    // TODO Auto-generated destructor stub
}

文件3:CPPbase.cpp,以下是代码

#include
using namespace std;
#include "Clock.h"


int main()
{
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

    Clock Clock1;
    Clock1.showTime();
    Clock1.setTime(12,12,12);
    Clock1.showTime();

    return 0;
}

C#代码(以钟表类为例):

文件1:Clock.cs,以下是代码

  class Clock
   {
        private int hours;
        private int min;
        private int sec;
        public Clock()  // 构造函数
        {
            Console.WriteLine("对象已创建");
        }
        ~Clock() //析构函数
        {
            Console.WriteLine("对象已删除");
            Console.ReadLine();
        }

        public void setTime(int nowH,int nowM,int nowS)

        {
            hours = nowH;
            min = nowM;
            sec = nowS;

        }
        public void showTime()

        {

            Console.WriteLine(hours + ":"+ min + ":" + min );

        }       
    }

文件2:Program.cs,以下是代码

public class Program

{

        static void Main(string[] args)
        {
            Clock Clock1 = new Clock();

            Clock1.showTime();
            Clock1.setTime(12,12,12);
            Clock1.showTime();           
        }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号