各位请进,关于C++实例的类型转换
[Quote=代码:]
#include "stdio.h"
class a
{
public:
virtual void func(){printf("a func()\n");}
};
class b: public a
{
public:
void func(){printf("b func()\n");}
};
int main()
{
class a object_a;
(class b)object_a.func(); //对于此行,编译报:Invalid use of void expression
}
[/Quote]
看意思,Invalid use of void expression,错误不止一处,各位可以一一解释下吗,多谢了!
相关推荐
C++中强制类型转换的应用
1.1 强制类型转换 大家都知道在C语言里强制类型转换的方法非常简单,只要在要转换的变量前用括号确定要转换的类型即可,如要将一个double型的变量强制转换为int类型,代码如下: double x = 3.14; int y = (int)x; 另外,还可有更高级的转换,如把int *类型的变量转换为int ,代码如下: int x = 20; int *p = &x; int y = (int)p; 在C++语言里为了让强制类型转换更明显,更安全,所以把不同情况下的强制类型转换分为四种,分别为: static_cast
C++类型转换运算符的实例详解
主要介绍了C++类型转换运算符的实例详解的相关资料,希望通过本文大家能够掌握这部分内容,需要的朋友可以参考下
cpp代码-c++类型转换 (cast)
cpp代码-c++类型转换 (cast)
C++四种强制类型转换
四种强制类型转换:static_cast const_cast dynamic_cast reinterpret_cast 1、static_cast 编译器隐式执行的任何类型转换都可以由static_cast显示完成。 ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。 ②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。 ③把空指针转换成目标
C++ 四种强制类型转换的总结
C++ 四种强制类型转换的总结


