Form Now On...

导航

 

1 声明(declaration)和定义(definition)

 声明时向编译器介绍名字-标识符,它告诉编译器这个变量或者函数在某处可以找到,它的模样是是什么。

 定义是说:在这里建立变量或者函数。并且分配存储空间。变量在内存分配空间保存数据,函数,编译器也要产生代码,占用空间。

声明可以说次,定义只能一次(ODR:one-definition rule);

1.1函数声明和定义

int add(int a,int b);//注意带分号

或者int add(int,int);

函数定义带函数体

int add(int a,int b)

{

   return a+b;

}

1.2 变量声明和定义

 

extern int a;//这句话的意思是,a 是一个int,现在没有定义,但是你(编译器)总可以在一个地方找到

 

变量定义:

int a;//此时对变量分配a 4字节存储空间,只能在程序中出现一次(作用域内)

2 头文件和预处理器指令

头文件是库德创建者提供,里面包括函数和变量的声明;

#include <iostream.h> //老式 ,非模板化版本

#include <iostream>//新式,模板化版本,从编译器指定的路径寻找

#include "gVar.h" 从当前目录开始寻找

标准C++格式是:

#include <cstdio>  //对应的C老库  #include<stdio.h>

#include<cstdlib> //对应的C老库  #include<stdlib.h>

 

一般自己定义的头文件格式

#ifndef MY_DATADTRUCTURE
#define MY_DATADTRUCTURE

......

#endif

3 C++中如何定义全局变量和全局函数,全局类

3.1 首先定义自己的头文件,比如"gVar.h",内部如下:

#include "stdafx.h" //MFC

#ifndef MY_DATADTRUCTURE
#define MY_DATADTRUCTURE

extern int global_int;//变量声明

int add(int a,int b);//函数声明

Class 或者struct 定义//特殊情况

class Person{

 

Person()

{

   _name=_T("");

  _age=0;

}

Person(Cstring name,int age)

{

   _name=name;

  _age=age;

}

private:

Cstring_name;

int _age;

}

 

extern Person  myPerson;

#endif

 

3.2 建立"gVar.cpp"

#include "gVar.h"

global_int=0;//函数定义

int Add( int a,int b)//函数定义

{

 retrun a+b;

}

 

Person myPerson;//注意如何带参数构造函数提示错误

 

 

 

 

 

 

posted on 2010-11-04 11:27  zjwei55  阅读(121)  评论(0编辑  收藏  举报