this指针来设置成员变量的值如何使用并举例说明,如何进行类外声明和定义举例说明
时间: 2024-02-19 10:59:22 浏览: 67
在 C++ 中,每个成员函数都有一个隐含的指向当前正在被调用的对象的指针,即 `this` 指针。我们可以使用 `this` 指针来访问当前对象的成员变量和成员函数。
举个例子,我们可以定义一个类 `Person`,其中包含一个成员变量 `name` 和一个成员函数 `setName`,使用 `this` 指针来设置成员变量的值:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
public:
void setName(string name) {
this->name = name;
}
void showName() {
cout << "My name is " << name << endl;
}
};
int main() {
Person p;
p.setName("Alice");
p.showName();
return 0;
}
```
上面的例子中,我们在成员函数 `setName` 中使用 `this` 指针来设置成员变量 `name` 的值。
如果我们需要在类外部定义成员函数,需要在函数声明和定义中都加上类名和作用域解析运算符 `::`,示例如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
public:
void setName(string name);
void showName();
};
void Person::setName(string name) {
this->name = name;
}
void Person::showName() {
cout << "My name is " << name << endl;
}
int main() {
Person p;
p.setName("Alice");
p.showName();
return 0;
}
```
上面的示例中,我们在类外部定义了 `Person` 类的成员函数 `setName` 和 `showName`,在定义中使用了类名和作用域解析运算符 `::`。
阅读全文