在 C++ 中,如何声明具有虚拟基类型的全局静态分配变量?

法兰克102

[编辑:抱歉,最初混淆了基类和子类]

给定的

class Car : public Vehicle {...}

我想声明一个类型为 Vehicle (或 &Vehicle 如果需要)的全局变量,初始化为 Car 实例......类似

Vehicle &myCar = Car(red);

...除了以上不编译。对我来说重要的是实例的分配方式与我使用的方式完全相同(这是用于 AVR 编程)

 Car myCar(red);

我已经搜索过,但我就是无法弄清楚这个的语法??

谢谢!

昆汀

如果您不想拥有派生类型的显式变量:

Vehicle &&myCar = Car(red);

右值引用将根据需要延长临时的生命周期。melpomene 的 lambda 解决方案相比,它的优势在于Car保持其自动生命周期而不是变为静态。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#中的静态全局变量具有文件作用域吗?

如何在c中全局初始化变量,静态和外部有什么区别?

如何将具有相同静态变量名称的全局和局部存储在C内部存储器中?

如何在C中声明全局变量?

malloc和全局变量声明将它们的变量分配到C中的什么位置?

c中具有分配值的枚举的静态查找表

为什么我可以使用没有类型的“静态”限定符声明变量?(在C中)

如何在C#中收集具有泛型类型的静态类的所有“实例”?

C++ 继承:具有基类类型的变量

C ++类中的静态全局变量

如何在C中访问具有相同名称的局部变量和全局变量

在C ++ 03中,如何基于类型特征有条件地声明模板类的静态数据成员

在 C 中没有全局变量或更改函数输入的函数内部数组的变量分配

C中的全局变量和动态分配的v变量有什么区别?

为什么局部变量不具有默认类型而全局变量具有C?

C中“没有声明类型的已分配对象”的C ++等效项是什么?

两个C文件具有相同的变量名,但一个是静态类型,一个是全局类型,尽管GCC没有给出错误

c++/qt 如何拥有一个全局静态变量

如何基于平台声明C ++变量类型?

在C ++中声明抽象类型的变量

C中具有不同类型的外部变量

全局变量声明如何解决C中的堆栈溢出?

如何在“ C”中的任何函数内声明全局变量?

使用 boost 的 program_options 时,如何确保声明在 C++ 中具有存储类或类型说明符?

C++:如何向前声明出现在基类的静态方法中的派生类?

C 中静态变量的这两个声明有何不同?

静态变量声明(C)

在C ++中是否可以有虚拟类型?

如何在C#中使用静态全局定义变量?