vc++如何创建程序-构造函数02

1.若忘记了赋值,出现运行结果是很大的负值(因为我们定义的x与y这两个成员变量存储在内存中是一个随机的值)

当我们调用时,随机输出。

//包含输入输出的头文件
#include<iostream.h>
class Point
{
public:
int x;
int y;
//在结构体中编写一个函数来负责输入输出的功能,
//就不需要在main函数中输出了,直接在main函数中调用output函数
void output()
{
cout<<x<<endl<<y<<endl;
}
};

//定义一个main函数
void main()
{
//在main函数内部实例化一个对象pt
Point pt;
//若忘记赋值
// pt.x=5;
//pt.y=5;
// cout<<pt.x<<endl<<pt.y<<endl;
pt.output();

}

2. 如何将输出值是我们想要的呢?可以定义一个函数

//包含输入输出的头文件
#include<iostream.h>
class Point
{
public:
int x;
int y;
void init()
{
x=0;
y=0;
}
void output()
{
cout<<x<<endl<<y<<endl;
}
};

//定义一个main函数
void main()
{
//在main函数内部实例化一个对象pt
Point pt;
//若忘记赋值,定义一个init方法,然后调用这个方法

pt.init();
pt.output();

}

3 .

如果有了一个构造函数,无论是否带参,编译器都不会再提供了,

//包含输入输出的头文件
#include<iostream.h>
class Point
{
public:
int x;
int y;
/* void init()
{
x=0;
y=0;
}*/
//构造函数,不需要返回值
Point()
{
x=0;;
y=0;
}
void output()
{
cout<<x<<endl<<y<<endl;
}
};

//定义一个main函数
void main()
{
//在main函数内部实例化一个对象pt
Point pt;//声明对象的时候会自动调用构造函数,在构造函数中,对x和y初始化了
pt.output();

}

猜你喜欢

转载自www.cnblogs.com/fanglijiao/p/9721250.html