我正在学习C++而我正在进入虚拟功能.
根据我的阅读(在书中和在线),虚函数是基类中的函数,您可以在派生类中重写它们.
但是在本书前面,当我学习基本继承时,我能够在不使用的情况下覆盖派生类中的基本函数virtual.
那我在这里错过了什么?我知道虚拟功能还有更多功能,而且它似乎很重要,所以我想清楚它究竟是什么.我在网上找不到直接答案.
所以我对C++中虚函数的概念不熟悉,像这样的线程很好地销售了这个概念.好的,我确信.
但为什么虚拟功能称为"虚拟"?我的意思是这些功能与通常的功能/方法一样"具体"不是吗?如果有人能够解释"虚拟"这个词的选择来命名这个概念,那就太好了.
为什么此C ++代码不起作用?它旨在将基类动态转换为派生类。我将如何实现?
class base {
public:
int x = 0;
};
class a : public base {
public:
char c = 'a';
};
class b : public base {
public:
long int d = 'b';
};
std::vector<base> vec;
for (int i = 0; i < 5; i++) {
b temp;
vec.push_back(temp);
}
for (int i = 0; i < 5; i++) {
b* temp = (b*)&vec[i];
std::cout << temp->d << std::endl;
}
Run Code Online (Sandbox Code Playgroud)