c++类中使用extern
时间: 2023-08-08 14:01:44 浏览: 144
在C语言中,extern是一个用于声明外部变量和函数的关键字。在类中使用extern,则指的是声明一个外部的类成员或者静态成员。
通常情况下,在C语言中,外部变量和函数的声明可以放在源文件的顶部,这样其他文件就可以使用这些外部的变量和函数了。但在C++中,如果我们想在类中使用外部的变量或者函数,就需要使用extern关键字来进行声明。
在类中使用extern,可以将外部变量或函数声明为类的成员或者静态成员,使得类的其他成员函数可以直接使用它们。这样就可以在类的内部使用外部定义的全局变量,或者调用外部定义的全局函数。
具体的用法是,在类的声明中使用extern关键字来声明一个外部的全局变量或者函数,然后在类的实现中对这个变量或者函数进行定义。这样,类的成员函数就可以直接使用这个被声明为extern的外部变量或函数了。
总结起来,类中使用extern关键字可以让类的成员函数使用外部定义的全局变量或者函数。这样可以增加代码的重用性和灵活性,使得不同的类之间可以共享同一个外部定义的变量或函数。
相关问题
如何在c++中使用extern关键字
extern关键字用于在一个源文件中声明一个在另一个源文件中定义的全局变量或函数。在C++中使用extern关键字有两种情况:
1. 在函数外部使用extern
在一个函数外部使用extern,可以声明一个全局变量或函数,该变量或函数在其他文件中定义。例如:
```cpp
//file1.cpp
#include <iostream>
int count = 5; //定义一个全局变量
extern void write_extern(); //声明一个函数
int main()
{
write_extern(); //调用函数
}
//file2.cpp
#include <iostream>
extern int count; //声明一个全局变量
void write_extern(void) //定义函数
{
std::cout << "Count is " << count << std::endl;
}
```
2. 在函数内部使用extern
在一个函数内部使用extern,可以引用其他文件定义的全局变量或函数。例如:
```cpp
//file1.cpp
#include <iostream>
int count = 5; //定义一个全局变量
extern void write_extern(); //声明一个函数
int main()
{
write_extern(); //调用函数
}
//file2.cpp
#include <iostream>
extern int count; //声明一个全局变量
void write_extern(void) //定义函数
{
std::cout << "Count is " << count << std::endl;
}
```
C++中如何通过extern函数
在C++中,使用`extern`关键字可以声明一个变量或函数是在另一个文件中定义的,从而可以在当前文件中使用它们。如果一个函数是在其他文件中定义的,我们就需要使用`extern`关键字来声明这个函数,然后就可以在当前文件中调用它。
例如,我们有一个名为`foo()`的函数,在另一个文件中定义,我们想在当前文件中调用它。我们可以在当前文件中声明这个函数:
```c++
// 在当前文件中声明 foo() 函数
extern void foo();
```
然后我们就可以在当前文件中调用`foo()`函数了:
```c++
// 调用在其他文件中定义的 foo() 函数
foo();
```
需要注意的是,`extern`关键字只是告诉编译器这个函数是在其他文件中定义的,而不是在当前文件中定义的。因此,在链接时,编译器会在其他文件中查找这个函数的定义。如果找不到定义,链接就会失败。
阅读全文