构造函数一直看不懂,动手试了一次,总算懂了个一二。功夫不负有心人!
#include <iostream>
using namespace std;
//构造函数在对象生成的时候会被自动调用
//如果定义了构造函数,则编译器不生成默认的无参数构造函数
//一个类可以包含多个构造函数,对象使用哪个构造函数,取决于对象生成语句提供的参数类型、个数等
//一个对象必须初始化以后才能使用,而构造函数就是起到了这个初始化作用
//使用默认构造函数的类Test1
class Test1
{
private:
double real,imag;
public :
voidSet(double r,double i)
{
real=r;
imag=i;
}
getData(double *pr,double *pi)//用此方法才能取出private中的值
{
*pr=real;
*pi=imag;
}
}; //没有定义构造函数,编译器自动生成默认构造函数
//自定义构造函数的Test2
class Test2
{
private:
double real,imag;
public:
Test2(double r,double i=0) //定义构造函数,函数名和类名一样
{
real=r;
imag=i;
}
getData(double *pr,double *pi)
{
*pr=real;
*pi=imag;
}
};
//多个构造函数Test3
class Test3
{
private:
double real,imag;
public:
Test3(double r,double i) //定义构造函数1
{
real=r;
imag=i;
}
Test3(double r) //定义构造函数2
{
real =r;
imag=