成员函数怎么定义在外面
时间: 2023-05-12 16:07:09 浏览: 213
在C++中,成员函数可以在类的内部或外部进行定义。如果要在外部定义成员函数,需要使用作用域解析运算符"::"来指定函数所属的类。例如,如果要在外部定义一个名为"func"的成员函数,可以这样写:
class MyClass {
public:
void func(); // 在类的内部声明函数
};
void MyClass::func() {
// 在类的外部定义函数
}
注意,函数定义时需要指定函数所属的类,否则编译器会报错。
相关问题
在类外面定义成员函数函数名前需要加什么
在类外定义成员函数时,函数名前需要加上类名和作用域解析符"::",并且需要在函数名后面加上参数列表。例如:
```c++
class MyClass {
public:
void myFunction(int x);
};
void MyClass::myFunction(int x) {
// 函数实现
}
```
其中,`MyClass::`表明`myFunction`是`MyClass`的一个成员函数,`int x`是函数的参数列表。
模版类,在类里声明,在类外面定义的成员函数为什么必须加template
在类模板中,类的成员函数如果在类外面进行定义时,需要在函数名前加上类模板的参数列表。这是因为类模板的参数列表在类外面的成员函数定义中并不会自动推导,因此需要手动指定。
例如,如果有如下的模板类:
```cpp
template <typename T>
class MyClass {
public:
void myFunc(T arg);
};
```
在类外面定义 myFunc 函数时,需要加上类模板的参数列表:
```cpp
template <typename T>
void MyClass<T>::myFunc(T arg) {
// ...
}
```
这样才能正确指定模板参数 T。如果不加 template,则编译器会认为 myFunc 是一个普通的非模板函数,而无法匹配到 MyClass<T> 中的函数声明。
阅读全文