c++,类以本身的对象作为参数
时间: 2023-11-28 16:04:42 浏览: 25
在C++中,类以本身的对象作为参数,可以使用引用或指针来实现。
使用引用作为参数:
```c++
class MyClass {
public:
void myFunc(MyClass& obj) {
// do something with obj
}
};
int main() {
MyClass obj1;
MyClass obj2;
obj1.myFunc(obj2); // pass obj2 as a reference
return 0;
}
```
在上面的例子中,`myFunc()` 方法以 `MyClass` 类型的对象的引用作为参数。在 `main()` 函数中,我们创建了两个 `MyClass` 类型的对象 `obj1` 和 `obj2`,然后将 `obj2` 作为引用传递给 `obj1.myFunc()` 方法。
使用指针作为参数:
```c++
class MyClass {
public:
void myFunc(MyClass* obj) {
// do something with obj
}
};
int main() {
MyClass obj1;
MyClass obj2;
MyClass* ptr = &obj2;
obj1.myFunc(ptr); // pass ptr as a pointer
return 0;
}
```
在上面的例子中,`myFunc()` 方法以 `MyClass` 类型的对象的指针作为参数。在 `main()` 函数中,我们创建了两个 `MyClass` 类型的对象 `obj1` 和 `obj2`,然后创建一个指向 `obj2` 的指针 `ptr`,最后将 `ptr` 作为指针传递给 `obj1.myFunc()` 方法。
无论是使用引用还是指针,都可以实现类以本身的对象作为参数的功能。需要注意的是,在使用指针作为参数时,需要确保指针指向的对象是有效的,否则可能会导致程序崩溃。