1.利用主函数对成员函数的调用来对对象的数据成员进行初始化。
实例:
#include<iostream>
using namespace std;
class Sum
{
public:
void set_value()
{
cin >> a >> b;
}
int sum()
{
return a + b;
}
private:
int a;
int b;
};
int main()
{
Sum s;
s.set_value();
cout << "a+b=" << s.sum();
}
2.定义对象的时候初始化赋值。(所有成员公开时)
实例:
#include<iostream>
using namespace std;
class Sum
{
public:
int a;
int b;
int sum()
{
return a + b;
}
};
int main()
{
Sum s{1,1};
cout << "a+b=" << s.sum();
}
3.利用构造函数实现数据成员初始化。(无参构造函数)
实例:
#include<iostream>
using namespace std;
class Sum
{
public:
Sum()
{
a = 1;
b = 1;
}
int sum()
{
return a + b;
}
private:
int a;
int b;
};
int main()
{
Sum s;
cout << "a+b=" << s.sum();
}
4.利用构造函数实现数据成员初始化(有参但无函数初始化表)
实例:
(1)在类体内定义构造函数
#include<iostream>
using namespace std;
class Sum
{
public:
Sum(int x,int y)
{
a = x;
b = y;
}
int sum()
{
return a + b;
}
private:
int a;
int b;
};
int main()
{
Sum s(1,1);
cout << "a+b=" << s.sum();
}
(2)在类外定义构造函数
#include<iostream>
using namespace std;
class Sum
{
public:
Sum(int, int);
int sum()
{
return a + b;
}
private:
int a;
int b;
};
Sum::Sum(int x, int y)
{
a = x;
b = y;
}
int main()
{
Sum s(1,1);
cout << "a+b=" << s.sum();
}
5.利用构造函数实现数据成员初始化(参数初始化表)
#include<iostream>
using namespace std;
class Sum
{
public:
Sum(int x, int y):a(x),b(y){}
int sum()
{
return a + b;
}
private:
int a;
int b;
};
int main()
{
Sum s(1,1);
cout << "a+b=" << s.sum();
}
6.利用构造函数实现数据成员初始化(使用默认参数)
#include<iostream>
using namespace std;
class Sum
{
public:
Sum(int x = 1, int y = 1)
{
a = x;
b = y;
}
int sum()
{
return a + b;
}
private:
int a;
int b;
};
int main()
{
Sum s(1, 1);
cout << "a+b=" << s.sum();
}