小编Leo*_*son的帖子

为什么我需要在C#中实例化一个对象,而不是在C++中为了访问一个类的函数?

我最近开始用C#编写Unity(游戏引擎)开发.我注意到与C++不同; C#要求我在使用其成员函数或变量之前在堆上实例化一个对象.与C++一样,我可以声明一个对象并从声明名称中调用任何函数.

C++示例:

#include <iostream>
using namespace std;
class SampleClass 

{
   void PrintFunc()
   {
      cout<<"Hello World"<<endl;
   }
 }

int main()
{

   SampleClass objectC; //Object declaration
   objectC.PrintFunc(); //Use of function without instantiation

   //The above code will print'Hello World'
}
Run Code Online (Sandbox Code Playgroud)

C#示例:

 using System

 namespace ConsoleProject2
{
    class MainClass
   {

   class SampleClass
   {
        Void PrintFunc()
        {
          Console.WriteLine("Hello World");
        }
    }

    public static void Main (string[] args)
    {

        SampleClass objectC = new SampleClass();
        //Must instantiate before accessing member functions 
        objectC.PrintFunc(); //Prints out 'Hello World' …
Run Code Online (Sandbox Code Playgroud)

c# c++ memory memory-management

-2
推荐指数
1
解决办法
371
查看次数

标签 统计

c# ×1

c++ ×1

memory ×1

memory-management ×1