1、给数据成员赋值的构造函数
#include
using namespace std;
class stu
{
public:
int age;
stu()//构造函数,自动调用,给数据成员赋值,无参构造函数。
{
age = 1234;//无返回值。
}
void fun()
{
age = 1233;
}
};
int main()
{
//stu db;//构造函数是在对象创造的时候调用的。
//cout <
system("pause");
return 0;
}
2、有参构造函数
#include
using namespace std;
class stu
{
public:
int age,
m;
stu//2、默认构造函数
{
}
stu(int a)//3、构造函数,自动调用,给数据成员赋值,有参构造函数。
{
age=a;//无返回值。
}
stu(int a,int b)//4、多个构造函数形成函数重载(4与3形成函数重载)
{
age = a;
m = b;
//无返回值。
}
};
int main()
{
stu db(123);//构造函数参数传递。
cout <
cout << db3.age<<" "<< db3.m << endl;
stu *db1=new stu(1234);//指针对象,构造函数参数传递。
cout <
system("pause");
return 0;
}
目录
1、给数据成员赋值的构造函数
2、有参构造函数
3、类外构造函数、普通函数构造函数
3、类外构造函数、普通函数构造函数
#include
using namespace std;
class stu
{
public:
int age,
m;
stu(int a)
{
age=a;
}
stu(int a, int b);//类外构造函数,函数声明
int fun();//声明普通函数构造函数
};
stu::stu(int a, int b)//加一个类名作用域
{
age = a;
m = b;
//无返回值。
}
int stu::fun()//函数定义构造函数
{
cout << age << endl;
return 0;
}
int main() stu db3(123,123456); 目录 1、给数据成员赋值的构造函数 2、有参构造函数 3、类外构造函数、普通函数构造函数 4、构造函数初始化列表 #include
{
stu db(123);//构造函数参数传递。
cout <
cout << db3.age<<" "<< db3.m << endl;
system("pause");
return 0;
}4、构造函数初始化列表
using namespace std;
class stu
{
public:
int age,
m;
stu() :age(13), m(167)//可以通过参数传递:stu(int c,int d) :age(c), m(d);成员初始化顺序,只与声明的顺序有关,跟初始化列表的书写顺序无关;
{
//cout << age << " " << m << endl;
}
void fun()
{
cout << age << " " << m << endl;
}
};
int main()
{
stu db;
db.fun();//db.fun(13,16):参数传递
system("pause");
return 0;
}



