zoukankan      html  css  js  c++  java
  • C++类的实例化的两种方法

    C++

    类的实例化有两种方法:

    直接定义对象:

    先定义一个类:

     

     

    class A 

    public: 

    A(); 

    virtual ~A(); 

    ... 

    ... 

    }; 

     

     

    类实现略。

     

     

    用的时候:

     

    A a; 

    a.

    成员函数;

     

    a.

    成员变量;

     

     

    就是一个对象。

    定义一个类指针的方法: A *p = new A; p->成员函数; p->成员变量; 
    最后别忘了销毁对象:delete[] a;  
    A由系统创建并释放,你不要担心会出现内存泄露,但是生命期只有在本区域的大括号内,出了大括号就没用了。p是指针,要自己释放,用不好很危险,用好了功能强大,因为他可以赋值给全局的变量,一下子从局部变量变成全局变量,还能把对象作为函数返回值。  
    A a; 
    A * a = new a(); 
    以上两种方式皆可实现类的实例化,有new的区别在于:

    1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。 2.不加new在堆栈中分配内存 3.大程序用new,小程序直接申请 4.只是把对象分配在堆栈内存中 
    5.new必须delete删除,不用new系统会自动回收内存

  • 相关阅读:
    车辆年检、强险、车船税的关系
    .Net下几种ORM
    Windows 刷新图标命令
    VUE-CLI + AntV G6 兼容IE11
    CentOS 7 下安装 JIRA 8.7 和 Confluence 7.3
    .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
    Nginx 缓存代理
    java对象锁和类锁
    线程的生命周期
    数据库分库分表
  • 原文地址:https://www.cnblogs.com/nancymake/p/5946567.html
Copyright © 2011-2022 走看看