C++中,构造函数怎么从内联成员函数改写成外联成员函数
时间: 2023-03-20 21:00:46 浏览: 164
在 C++ 中,构造函数不能被声明为成员函数。因此,您可能是在问如何将 C++ 中的内联成员函数改写为外部函数。
如果您要将内联成员函数改为外部函数,则需要将函数声明和定义移动到类定义外部。在类定义内部,函数应该被声明为内联函数,并且在类定义外部,函数应该被定义为非内联函数。
例如,如果您有一个内联成员函数的类定义如下:
```
class MyClass {
public:
inline void myFunction() {
// function body
}
};
```
您可以将其改为外联成员函数,如下所示:
```
class MyClass {
public:
void myFunction();
};
inline void MyClass::myFunction() {
// function body
}
```
在类定义内部声明函数时,需要使用关键字 `inline`。在类定义外部定义函数时,不需要使用 `inline`。
相关问题
C++构造函数怎么从内联改写成外联
在 C 语言中,构造函数是指在创建一个新的对象时自动执行的函数,通常用于初始化对象的成员变量。
将构造函数从内联(inline)改写成外联(external)可以按照以下步骤进行:
1. 将构造函数的定义从头文件中移除,只保留函数的声明。
2. 在一个单独的源文件中,重新实现该构造函数的函数体,并在函数前加上函数名和返回类型。这个源文件需要包含该构造函数的头文件。
3. 编译源文件时需要链接该头文件和包含该头文件的源文件。
这样就可以将原来的内联构造函数改写成外联函数了。注意,外联函数的定义只能在一个源文件中,否则会出现“重复定义”的错误。
阅读全文
相关推荐
















