麻烦大家看看这段程序

来源:百度知道 编辑:UC知道 时间:2024/06/11 02:20:58
#include<iostream.h>
class MyClass
{
private:
int value;
public:
MyClass(){cout<<"(调用MyClass函数)"<<endl;value=0;}
void SetVariable(int i){cout<<"(SetVariable)"<<endl;value=i;}
};

#include<iostream.h>
#include"class.h"
void main(void)
{
MyClass *p,my;
p=&my;
cout<<p<<endl;
}

为什么不是调用两次构造函数呢?
呵呵 不是 我是想问为什么 MyClass *p 不调用构造函数

int a;//定义一个变量并给他分配一块内存
int *p;//定义一个指针但不分配内存
MyClass *p 只是声明一个指针,并没有给它分配内存;所以他不执行构造函数

如果你是想调用class MyClass的话,可以用下面这个:
class MyClass()
{
...
}
void main()
{
...
class MyClass();
...
}
不知道你是不是想要这个...
以上,小白见解