在c++的类中,类的一个成员对象变量如何调用该类的非静态成员函数
时间: 2023-08-14 20:04:38 浏览: 89
关于C++静态成员函数访问非静态成员变量的问题
类的一个成员对象变量可以通过指向该成员对象的指针或引用来调用该类的非静态成员函数。例如,假设该类的非静态成员函数为`func()`,类的一个成员对象变量为`obj`,则可以通过以下两种方式调用:
1. 使用指向该成员对象的指针调用非静态成员函数:
```
class MyClass {
public:
void func() { /* ... */ }
};
class MyClass2 {
public:
MyClass obj;
};
MyClass2 obj2;
MyClass* ptr = &obj2.obj;
obj2.obj.func(); // 直接调用
ptr->func(); // 使用指针调用
```
2. 使用引用调用非静态成员函数:
```
class MyClass {
public:
void func() { /* ... */ }
};
class MyClass2 {
public:
MyClass obj;
};
MyClass2 obj2;
MyClass& ref = obj2.obj;
obj2.obj.func(); // 直接调用
ref.func(); // 使用引用调用
```
阅读全文