c++父类this指针
时间: 2023-11-03 07:22:49 浏览: 40
在引用的代码中,父类的this指针指向父类对象的地址。在引用的代码中,FatherClass构造函数中的"fatherClass = this;"语句将this指针赋值给了fatherClass变量。因此,通过fatherClass指针可以访问到父类对象的成员。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
相关问题
c++ 调用父类 指针
在 C++ 中,可以使用父类指针来调用父类的成员函数。这是由于多态性的特性。下面是一个示例代码:
```cpp
#include <iostream>
class Parent {
public:
void display() {
std::cout << "This is the parent class." << std::endl;
}
};
class Child : public Parent {
public:
void display() {
std::cout << "This is the child class." << std::endl;
}
};
int main() {
Parent* ptr = new Child();
ptr->display(); // 调用父类的display函数
delete ptr;
return 0;
}
```
在这个示例中,我们定义了一个父类 `Parent` 和一个子类 `Child`,子类继承自父类。在 `main` 函数中,我们创建了一个父类指针 `ptr` 并将其指向子类的对象。然后,我们通过这个指针调用 `display` 函数,这个函数是父类的成员函数。尽管 `ptr` 的静态类型是父类指针,但由于多态性的特性,实际上调用的是子类的重写函数。
输出结果为:
```
This is the child class.
```
注意,在使用父类指针调用成员函数时,如果子类中有重写(override)了父类的同名函数,那么将会调用子类中的函数。如果子类没有重写父类的函数,则会调用父类的函数。
c++中的父类指针‘
在C++中,父类指针是指向子类对象的指针,它可以用来访问子类对象中继承自父类的成员和方法。通过使用父类指针,可以实现多态性,即一个指针可以在不同的情况下指向不同的对象,并调用相应的方法。
父类指针的声明和使用方式如下:
```cpp
class Parent {
public:
void print() {
cout << "This is the parent class." << endl;
}
};
class Child : public Parent {
public:
void print() {
cout << "This is the child class." << endl;
}
};
int main() {
Parent* ptr; // 声明一个父类指针
Child obj; // 子类对象
ptr = &obj; // 将子类对象的地址赋给父类指针
ptr->print(); // 调用通过父类指针访问的方法,输出 "This is the child class."
}
```
在上面的例子中,我们声明了一个父类指针`ptr`,然后将子类对象`obj`的地址赋给了这个指针。通过父类指针调用`print()`方法时,实际上会调用子类中重写的`print()`方法。
这样做的好处是,我们可以通过父类指针来统一管理不同类型的子类对象,方便进行多态操作。同时,父类指针也可以用来实现动态绑定,即在运行时确定调用的方法。