1

举个例子。您使用什么术语来描述具有与基类不同的参数的继承类?我知道这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;
}
4

2 回答 2

0

重载:当您更改派生类中继承函数的签名时。

重定义(在普通函数的情况下)/覆盖(在虚函数的情况下):当您在派生类中保持基类函数的签名相同时。但是你改变了实现部分。

但我不是在这里谈论构造函数。我说的是类的常用成员函数。

于 2013-09-17T05:34:08.397 回答
0

超载了我的朋友。它具有相同的方法名称但不同的参数或返回类型

但在这种情况下,您只是在创建全新的构造函数。不是真正的继承或任何东西。

于 2013-09-16T23:18:15.487 回答