使用对象类实例和(void *)

时间:2012-03-05 10:22:46

标签: c++ pointers void-pointers

有人可以指出对象类的使用吗?我的意思是使用对象类的实例它是否分配了所有子类的所有内存?即int float等等

我想知道一些我们必须需要Object的情况以及我们需要void指针的一些情况,谢谢

1 个答案:

答案 0 :(得分:1)

void*是指向内存空间的指针,该空间未设置为任何特定类型,或者更多,指针可指向任何类型'内存,但它指向的内存仍然是intmyObject

虽然这将是非常奇怪的'要这样做,你可能会有一个诸如

之类的功能
void zeroMem(void* memBlock, int size){}

此函数可用于将存储器块的所有位清零。

我知道openGL也有带void*的函数,通常用于缓冲区,这意味着你可以创建一个缓冲区,例如char*int*,openGL就可以了它,只要你告诉它这个缓冲区有多少BYTES。

当然,这两个例子都是C和C ++,尤其是那个openGL参考。

至于你的意思,'对象类实例'我不知道。也许你的意思是一个类的实例,你会调用它并反对它?在这种情况下,听起来你需要学习OOP的基础知识

修改

'对象类实例'

好的,所以你的意思是基类。

如果你看一下Java,所有的对象都来自一个Object类(不是大写的使用),这个基类是隐式的(即你不得不做任何事情)继承,即使是继承自某些东西的类否则,打破了C#不支持多重继承的观念。

现在,问题是关于C ++,所以我简单地说你(或多或少)永远不想为你的所有对象都有一个基类Object类,没有必要。话虽这么说,你可能有一个基类,很多你的类都来自。

这是OOP背后的基本概念,所以如果你需要这个解释,你真的应该坐下来读一本好书。