派生类从基类public派生
时间: 2024-01-19 08:04:43 浏览: 78
派生类从基类public派生意味着派生类可以继承基类的所有public成员,包括成员函数和成员变量。这样派生类就可以直接访问基类的public成员,无需额外的访问控制权限或者使用访问函数。同时,派生类也可以在自己的成员函数中调用基类的成员函数,以实现代码的复用。需要注意的是,基类的private成员不能被派生类直接访问,只能通过基类的public成员函数进行访问。
相关问题
qt 派生类继承基类 示例
在Qt中,派生类继承基类是一种创建新类的方式,该新类可以获取并扩展基类的功能。下面是一个简单的例子:
```cpp
// 首先,我们有一个基类`QWidget`,它属于Qt库,用于表示窗口的基本组件。
class QWidget : public QObject // QObject是所有Qt类的基础
{
public:
QWidget(QWidget *parent = nullptr) : QObject(parent) {}
// 基类中的其他成员函数和属性...
};
// 然后,我们可以创建一个派生类`MyWindow`, 它继承自QWidget。
class MyWindow : public QWidget
{
public:
MyWindow(QWidget *parent = nullptr) : QWidget(parent) {
// 在构造函数中,可能添加额外初始化或设置特定的行为
}
protected:
// 如果需要,可以在派生类中重写基类的方法,例如处理事件
void paintEvent(QPaintEvent *) override {
// ... 实现自定义绘制
}
private:
// 派生类特有的成员变量和方法...
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建并显示派生类的对象
MyWindow window;
window.show();
return app.exec();
}
c++派生类访问基类
派生类可以通过两种方式访问基类的成员:内部访问和对象访问。
1. 内部访问:在派生类中新增的成员可以直接访问从基类继承来的成员。这意味着派生类可以使用基类的公有成员、保护成员和私有成员。派生类可以通过成员函数或者派生类的其他成员来访问基类的成员。
2. 对象访问:在派生类的外部,通过派生类的对象可以访问从基类继承来的公有成员。这意味着派生类的对象只能访问基类的公有成员,无法直接访问基类的保护成员和私有成员。
下面是一个示例代码,演示了派生类如何访问基类的成员:
```c++
#include <iostream>
using namespace std;
// 基类
class Base {
public:
int publicMember;
protected:
int protectedMember;
private:
int privateMember;
};
// 派生类
class Derived : public Base {
public:
void accessBaseMembers() {
publicMember = 1; // 可以访问基类的公有成员
protectedMember = 2; // 可以访问基类的保护成员
// privateMember = 3; // 无法访问基类的私有成员
}
};
int main() {
Derived derivedObj;
derivedObj.publicMember = 1; // 可以通过派生类的对象访问基类的公有成员
// derivedObj.protectedMember = 2; // 无法通过派生类的对象访问基类的保护成员
// derivedObj.privateMember = 3; // 无法通过派生类的对象访问基类的私有成员
return 0;
}
```
阅读全文