相关疑难解决方法(0)

为什么我们需要C++中的虚函数?

我正在学习C++而我正在进入虚拟功能.

根据我的阅读(在书中和在线),虚函数是基类中的函数,您可以在派生类中重写它们.

但是在本书前面,当我学习基本继承时,我能够在不使用的情况下覆盖派生类中的基本函数virtual.

那我在这里错过了什么?我知道虚拟功能还有更多功能,而且它似乎很重要,所以我想清楚它究竟是什么.我在网上找不到直接答案.

c++ virtual-functions

1223
推荐指数
18
解决办法
52万
查看次数

什么是StackOverflowError?

什么是什么,是StackOverflowError什么导致它,我应该如何处理它们?

stack-overflow memory-leaks exception-handling out-of-memory

420
推荐指数
10
解决办法
58万
查看次数

覆盖虚拟功能和隐藏非虚拟功能有什么区别?

给定以下代码片段,函数调用有何不同?什么是隐藏功能?什么是功能重写?它们如何与函数重载相关?两者有什么区别?我在一个地方找不到这些的好描述,所以我在这里问我所以我可以巩固这些信息.

class Parent {
  public:
    void doA() { cout << "doA in Parent" << endl; }
    virtual void doB() { cout << "doB in Parent" << endl; }
};

class Child : public Parent {
  public:
    void doA() { cout << "doA in Child" << endl; }
    void doB() { cout << "doB in Child" << endl; }
};

Parent* p1 = new Parent();
Parent* p2 = new Child();
Child* cp = new Child();

void testStuff() {
  p1->doA();
  p2->doA();
  cp->doA(); …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overriding virtual-functions method-hiding

15
推荐指数
2
解决办法
2万
查看次数