extern 都是对全局变量来说的,你既然将a(int)已经定义到了main函数中了,也就是说:a 的作用域就是main了,不然作用域不久不起作用了吗
如果你要将main中的那个int a用到f中,那是不可以的,但是你可以讲a(int)声明(定义)为全局变量,然后用extern就可以了(如果f和main不在一个.cpp中)
至于extern的具体用法,我曾经回答过这个问题,而且答案非常详细,http://zhidao.baidu.com/question/96882132.html
(snpsprcsac)你可以看看!
.h和.cpp是“独立”的,但有不是完全独立的,.h中用extern就可以用.cpp中定义的变量(常量)了,但翻过了不行(我在extern中也说到了这个问题)还有就是,
一般情况下,如果有程序中有类的话,类的定义在*.h中,对应的就有类的实现在*.cpp(名字一样)中!
你最后一个问题,问的不是很清楚,不知对不对的上!