调用类内的非静态成员函数,怎么创建该类的对象
时间: 2023-02-09 09:07:21 浏览: 223
要调用类内的非静态成员函数,需要先创建该类的对象。创建对象的方法是在类名后面加上括号,并在括号内输入构造函数所需的参数,如下所示:
```
class MyClass {
public:
MyClass(int x) {
// 构造函数的代码
}
void MyFunction() {
// 非静态成员函数的代码
}
};
int main() {
// 创建 MyClass 对象
MyClass obj(10);
// 调用 obj 的 MyFunction 函数
obj.MyFunction();
return 0;
}
```
在上面的代码中,我们首先定义了一个名为 `MyClass` 的类,其中包含了一个构造函数和一个非静态成员函数 `MyFunction`。然后在 `main` 函数中,我们使用 `MyClass obj(10)` 的语句来创建一个名为 `obj` 的 `MyClass` 类型的对象,并在构造函数中传入了参数 `10`。最后,我们使用 `obj.MyFunction()` 的语句来调用 `obj` 对象的 `MyFunction` 函数。
相关问题
在c++的类中,类的成员对象如何调用该类的非静态成员函数
类的成员对象可以通过指向该类对象的指针或引用来调用该类的非静态成员函数。例如,假设该类的非静态成员函数为`func()`,类的成员对象为`obj`,则可以通过以下两种方式调用:
1. 使用指向该类对象的指针调用非静态成员函数:
```
class MyClass {
public:
void func() { /* ... */ }
};
MyClass obj;
MyClass* ptr = &obj;
obj.func(); // 直接调用
ptr->func(); // 使用指针调用
```
2. 使用引用调用非静态成员函数:
```
class MyClass {
public:
void func() { /* ... */ }
};
MyClass obj;
MyClass& ref = obj;
obj.func(); // 直接调用
ref.func(); // 使用引用调用
```
在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(); // 使用引用调用
```
阅读全文