ICode9

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

C++声明和定义是不同的(mooc)

2021-04-13 23:06:43  阅读:145  来源: 互联网

标签:mooc 头文件 定义 int C++ extern 声明


  • 在C++ 中声明和定义要严格区分,不能在头文件里有定义。只能有声明。声明的方式如下
    extern  int  a;  // 用extern  声明变量
    int max(int, int); // 函数原型 声明函数
    //以及类和结构体的声明

     

  • 一个c++文件就是一个编译单元(c也一样)
  • 一个头文件中最好是只有一个类的声明。无论是C还是C++都不能include   .c or  .cpp文件,只能是include头文件(C++中也可以include不带后缀的文件比如iostream)头文件中只能有声明,不能有定义,头文件中要使用标准头文件结构(#ifndef...#define....#endif  这些)避免重复声明。
  • 在类中成员变量的声明不需要加extern。
    class  A 
    {
        private:
              int  num;  //这就是声明成员变量了,这个和全局变量声明不同,不需要加 extern
        public:
              int  b;
              void  func();  
    }
    
    // num的定义是在类的方法中使用的时候。因为声明是不分配内存的,编译器只是知道有这么个东西,但不知道在内存哪里。而定义就是告诉了编译器东西存在内存的哪里。
    
    A::func()     // 这是类的方法的定义
    {
         num = 6;
        cout << num << endl;
    }
    
    void  main()
    {
         A  a; //创建了一个A的对象
         a.func();  //调用了func方法
         a.b = 9;  // 成员变量b 是public,可以调用
         cout << a.b << endl;
    }

     

  • 类中的方法(或者叫函数)是属于类的,不属于对象。

标签:mooc,头文件,定义,int,C++,extern,声明
来源: https://www.cnblogs.com/bneglect/p/14655813.html

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

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

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

ICode9版权所有