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();
}