以下面的例子为例。您使用什么术语来描述具有与基类不同的参数的继承类?我了解subbase
隐式调用base()
。你不会称之为覆盖,更正,因为基本构造函数仍然被调用?
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class base
{
public:
base()
{
cout << "Hello!\n";
}
};
class subbase : public base
{
public:
subbase(string s)
{
cout << s << endl;
}
};
int main()
{
subbase test("Hello World!\n");
return 0;
}
答案 0 :(得分:0)
重载了我的朋友。它具有相同的方法名称,但参数或返回类型不同
但在这种情况下,您只是创建了全新的构造函数。不是真的继承或任何东西。
答案 1 :(得分:0)
重载:在派生类中更改继承函数的签名时。
重新定义(在正常函数的情况下)/重写(在虚函数的情况下):当在派生类中保持基类函数的签名相同时。但是你改变了实现部分。
但我不是在这里谈论建设者。我在谈论班级的通常成员职能。