zoukankan      html  css  js  c++  java
  • VC++的一个类中调用另一个类的变量

    #i nclude "stdafx.h"
    1.extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。
    2.如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有区别:
    extern int f(); 和int f(); 
    ================================= 
    如果定义函数的c/cpp文件在对应的头文件中声明了定义的函数,那么在其他c/cpp文件中要使用这些函数,只需要包含这个头文件即可。
    如果你不想包含头文件,那么在c/cpp中声明该函数。一般来说,声明定义在本文件的函数不用“extern”,声明定义在其他文件中的函数用“extern”,这样在本文件中调用别的文件定义的函数就不用包含头文件
    include “*.h”来声明函数,声明后直接使用即可。
    =================================
    举个例子:
    //extern.cpp内容如下:

    // extern.cpp : Defines the entry point for the console application.
    //

    #i nclude "stdafx.h"
    extern print(char *p);
    int main(int argc, char* argv[])
    {
       char *p="hello world!";
       print(p);
       return 0;
    }
    //print.cpp内容如下
    #i nclude "stdafx.h"
    #i nclude "stdio.h"
    print(char *s)
    {
       printf("The string is %s\n",s);
    }

    结果程序可以正常运行,输出结果。如果把“extern”去掉,程序依然可以正常运行。

    由此可见,“extern”在函数声明中可有可无,只是用来标志该函数在本文件中定义,还是在别的文件中定义。只要你函数在使用之前声明了,那么就可以不用包含头文件了。
  • 相关阅读:
    Flume下读取kafka数据后再打把数据输出到kafka,利用拦截器解决topic覆盖问题
    idea 党用快捷键
    Idea 调试快捷键
    log4j实时将数据写入到kafka,Demo和相关的配置详解
    windows环境下,kafka常用命令
    ElasticSearch 基本概念
    elasticsearch REST API方式批量插入数据
    自提柜-资产管理柜
    10.智能快递柜(源码下载)
    9.智能快递柜SDK(串口型锁板)
  • 原文地址:https://www.cnblogs.com/imhurley/p/2059294.html
Copyright © 2011-2022 走看看