c++ 与c# 的区别

来源:互联网 发布:屋内设计软件 编辑:程序博客网 时间:2024/05/24 01:10

 1、static 变量的区别,在c++中此变量声明后,一直在内存中保存,直到程序结束,而且写在函数里好像不在赋值了,比如

      int Test(){

        static int x = 1;  //方法第一次时执行,后面不执行

        static int y = 2;  //方法第一次时执行,后面不执行

        int c = x+y;

    }

2、C++类分配的堆内存是可以访问的,并可以修改

3、对于类来说this是一个指针,访问此类的属性时用this->,super被类名所代替

4、类的继承有三种继承,public (public protect 变为public  protected) ,protected(protected、public 变为protected)

    pivate (全部变为private)

5、多态:Fish 继承Animal  他们共享同一块内存,而Fish多出来一些内存存放自己的东西,因此  

     Fish fish;

     Animal a = (Animal)fish;

     a.xxx(); //调用的仍然是Animal的xxx()方法

    要解决这种情况则需要把函数声明为virtual ,而子类用不着用override(也不可用),把父类的方法声明为

    virtual void xxxx() = 0;表明为抽象函数 ,那么此类为抽象类,但不用abstract(也不可用)

6、在头文件中声明函数,类的格式,而在源文件中来实现,并且可以通过预编译指令来选择性的加载

     #ifndef xxx

     #define xxx

        ..........

     #endif

原创粉丝点击