//#include<iostream>
//using namespace std;
//
//class Stu
//{
//public:
// int age;
// float f;
// //构造函数,可由系统自动调用
// Stu() //一个类中可存在多个构造函数,多个构造函数构成重载
// {
// age = 12;
// f = 12.34f;
// cout << "age的值为" << age << " " << "f的值为" << f << endl;
// cout << "这里是无参的构造函数" << endl;
// }
//
// Stu(int a, float b = 64.3f);//构造函数也可在类外写,不过要在类内进行声明
// //构造函数可以设置默认值,但是默认值会被主函数中传递的值所覆盖
// int fun();//除了构造函数,普通函数也可以在类外写,都要在类内先进行声明
//
// //Stu()
// //{
// // //系统默认的构造函数,当我们在类中不写构造函数的时候,系统会默认一个空的构造函数
// // //当我们写了一个构造函数时,系统默认的构造函数就会消失
// // //系统默认的构造函数与我们所写的构造函数并不是重载的关系,而是覆盖,默认构造函数会被我们所写的构造函数覆盖
// //}
//
//
//};
//Stu::Stu(int a, float b) //在类外写构造函数需要加上类名作用域
//{ //函数重载不能写默认值
// age = a;
// f = b;
//}
//
//int Stu::fun() //函数定义
//{
// cout << "普通函数" << endl;
// return 0;
//}
//
//int main()
//{
//
// Stu stu0; //构造函数的调用是根据参数传递的不同进行不同构造函数的调用
// //Stu stu(12); //传递一个参数,另一个参数则会输出默认参数
// Stu stu(12,12.3f); //普通对象的传递方式,构造函数参数的传递,(在这里b的值被现在传递的值覆盖)
//
// Stu* stu1 = new Stu(17, 13.77f); //构造函数中指针对象的传递方式
//
// cout << stu.age << " " << stu.f << endl;
// cout << stu1->age << " " << stu1->f << endl; //注意,指针调用所使用的时“->”而不是“.”
// return 0;
//}