VC++中的基础问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:12:15
那个大哥可以给我说下什么是实例化?
谢谢,意思是我建立一个
myvector.h在里面我建了个类myVector,又建立个myvector.cpp来引用或定意我建的这个类中的成员就是实例化,是吗?
哦,就是吧类付给一个变量就是实例化?

问题补充:谢谢,意思是我建立一个
myvector.h在里面我建了个类myVector,又建立个myvector.cpp来引用或定意我建的这个类中的成员就是实例化,是吗?

不是的。

在myvector.h 中是声明了类。例如:
class myvector
{
private:
int a;
public:
int Geta();
};

在myvector.cpp 中是给出了类的成员函数定义。例如:
#include "myvector.h"
int myvector::Geta()
{
return a;
}

这样就完成了类的声明和定义。在实际使用中,要定义这个类的对象,这才是“实例化”。例如在你的main函数中:
#include "myvector.h"
int main()
{
myvector v1,v2;
return 0;
}

这里用类myvector定义了两个对象v1和v2,也就是实例化了类myvector的两个对象v1和v2。

想必你懂得类和对象的关系吧,对象就是类的实例化。

因为类的定义只是定义了一个框架,如果编写一个类,但是没有用这个类去实例化(生成)一个对象的化,那么这个程序运行时内存中根本没有类的任何影子,只有实例化对象后才能发挥类的作用。

一句话:类的意义是通过“实例化”的对象体现的。

补充:
要在myvector.cpp中来引用或定意所建的myVector类中的成员的前提是已经讲myVector类实例化了,比如:
myVector ex;
这个过程叫实例化,现在再调用实例(对象)中的成员变量/函数:
ex.abc();

你定义的类,本身只是一个概念没有实体(instance,也就是实例,两种翻译方法)

你按照这个类的尺寸申请一块内存,并根据