c++ - C ++派生类仅使用继承的基构造函数的一部分
问题描述
我确信这是一个基本问题,但我无法在任何地方找到答案。假设我有一个带有构造函数的基类:
class Parent{
public:
double propertyA, propertyB;
Parent(double propertyA, double propertyB){
this->propertyA = propertyA;
this->propertyB = propertyB;
}
};
然后我想要一个派生类来使用这个基构造函数,但它只需要接受propertyB
. propertyA
最终会成为一个常数(比如说1.0
)。
目前我正在尝试:
class Child : public Parent {
public:
Child(double PropertyB): Parent(1.0, PropertyB) {}
};
我不确定这是否符合我的要求。这是我应该这样做的吗?
解决方案
唯一可以确定的方法是测试,我认为:
#include <iostream>
class Parent
{
public:
double propertyA, propertyB;
Parent(double propertyA, double propertyB)
{
this->propertyA = propertyA;
this->propertyB = propertyB;
}
};
class Child : public Parent
{
public:
Child(double PropertyB): Parent(1.0, PropertyB) {}
double getPropertyA()
{
return propertyA;
}
double getPropertyB()
{
return propertyB;
}
};
int main()
{
double a = 3.0;
double b = 5.0;
Parent* parent = new Parent(a,b);
Child* child = new Child(b);
std::cout << "PropertyA for child " << child->getPropertyA();
}
输出是:
1
推荐阅读
- c# - 在框架内定位元素
- r - 如何重新标记列值
- html - 无法垂直对齐单选按钮
- .htaccess - HTACCESS 重写包含百分号的 URL
- angularjs - 在 angularjs 中实现通知警报
- javascript - 从 JSON 反应渲染 gif 文件
- javascript - 经过无数次脚本工作后,我没有得到“访问控制允许来源”
- express - 快速会话不适用于 DialogFlow
- google-apps-script - 使用 Google 幻灯片中的应用程序脚本将 pageElements 放在前面或后面
- shell - Shell:带有 echo 命令的 ksh 脚本不显示任何内容