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,也就是实例,两种翻译方法)
你按照这个类的尺寸申请一块内存,并根据