ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++前向引用声明

2020-02-04 11:02:02  阅读:345  来源: 互联网

标签:C++ Fred 前向 引用 include 声明 class


C++前向引用声明

概念

  • 类应该先声明,后使用。
  • 如果需要在某个类的声明之前,使用该类,需要进行前向引用声明。
  • 前向引用声明只是引入一个标识符,具体声明在其他位置。
#include <iostream>
using namespace std;
class B; //前向引用声明。
class A{
    public:
        void f(B &b);
    private:
        B *b; // 不能使用 B b
};
class B{
    public:
        void g(A a);
    private:
        A a;
};

使用前向声明是因为不想引入该类的头文件,但是前向声明是有限制的,也就是,只能用来定义前向声明类的指针或者引用。继承是需要了解类的内部结构的。

注意事项

  • 前向引用声明不是万能的
  • 在声明之前,不能声明该类的对象,也不能在内联成员函数中使用该类对象。
  • 前向引用声明时,只能使用被声明的符号,不能涉及类的任何细节
class Fred;
class Braney{
  Fred x; // 错误:类Fred的声明尚不完善。
};
class Fred{
  Braney y;
};

前向引用声明好处

  • #include会增加编译时间。#include文件中可能有很多用不到的功能模块。
  • 随意#include可能出现编译错误。

标签:C++,Fred,前向,引用,include,声明,class
来源: https://www.cnblogs.com/mephisto03/p/12258617.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有