• C++中类的前向声明的用法


    原创文章,未经博主允许禁止转载。

    C++的类可以进行前向声明。但是,仅仅进行前向声明而没有定义的类是不完整的,这样的类,只能用于定义指针、引用、以及用于函数形参的指针和引用。
    而不能定义对象(因为此时编译器只知道这是个类,还不知道这个类的大小有多大),也不能访问类的对象,任何形式的访问都不允许(因为此时根本不知道有些什么成员)。等到类正式定义以后,就可以以各种方式使用该类了。

    //前向声明此类
    class Video;
    //此时,只能定义指针和引用。不能定义对象,也不能以任何方式调用对象的成员
    void fun1(Video* pv,Video& v1){}
    //正式定义该类
    class Video
    {
    public:
        void show();
    };
    //现在,这个类可以随便使用了,可以定义对象,访问成员
    void fun2(Video* pv,Video& v1,Video v2){
        pv->show();
        v1.show();
        v2.show();
    }
    //类的实现,前面的只能让编译通过,实现类成员以后,连接也可以通过了。
    void Video::show()
    {
      cout<<"zhaojiankang"<<endl;
    }

    前向声明的作用是:

    1.不必在include头文件了,相对会省点编译时间。

    2.方便的解决两种类类型互相使用的问题。针对接口编程常常会遇到这种互相使用类型的场景。

    原创文章,未经博主允许禁止转载。

  • 相关阅读:
    EF Core 执行SQL语句和存储过程
    SQL优化之SELECT COUNT(*)
    SQL优化之SQL 进阶技巧(下)
    SQL优化之SQL 进阶技巧(上)
    旅游攻略:重庆红色之旅
    ASP.NET Core在CentOS上的最小化部署实践
    Windows平台部署Asp.Net Core应用
    kali 免杀工具shellter安装以及使用
    Ubuntu Server18.04配置静态IP
    Centos7系统配置静态IP
  • 原文地址:https://www.cnblogs.com/zhaojk2010/p/5789354.html
Copyright © 2020-2023  润新知