- 类和对象
- 访问权限
- 构造函数
- 析构函数
- 构造函数的分类及调用
- 构造函数调用方法
- c++ 中拷贝构造函数的调用时机
三种
公共权限public:
成员 类内可以访问 类外可以访问
保护权限protected:
成员 类内可以访问 类外不可以访问 儿子可以访问父亲中的保护内容
私有权限private:
成员 类内可以访问 类外不可以访问 儿子不可以访问父亲中的保护内容
c++ 中struct和class的区别
struct 默认权限是 public
class 默认权限是 private
构造函数:类名(){}
1没有返回值
2函数名称与类名相同
3构造函数可以有参数 因此可以发生重载
4无需手动调用 会自动调用一次
析构函数:~类名(){}
1没有返回值
2函数名称与类名相同 在名称前面加上符号~
3析构函数不可以有参数 因此不可以发生重载
4程序在对象销毁前 自动调用
按照参数分:
1有参构造 和无参构造(默认构造函数)
按照类型分:
1普通构造 和拷贝构造
person()
{
cout<<"无参构造函数被调用"<
age =a;
cout<<"普通构造函数被调用"<
age =p.age;
cout<<"拷贝构造函数被调用"<
调用
注意:调用默认构造函数时 不要加() 编译器会误认为是一个函数声明 不会认为是在创建对象
构造函数调用方法
void test()
{
//1括号法
person p1;//默认构造函数)
person p2(10);//有参构造函数
person p3(p2);//拷贝构造函数
//2显示法
person p1;
person p2=person(10);//有参构造
person p3=person(p2);//拷贝构造
person(10);//匿名对象 特点 :当前执行结束后 系统会立即回收掉匿名对象
注意事项2:不要用拷贝构造函数 初始化匿名对象
//3 隐式转换法
person p4=10;//相当于person p4= person(10);
person p5=p4;//相当于person p5= person(p4);
}
c++ 中拷贝构造函数的调用时机
1 使用一个已经创建完的对象来初始化一个新的对象
void test()
{
person p1(20);
person p2(p1);
}
2 值传递的方式给函数参数传值
void test(person p)
{
}
3 值方式返回局部对象
person test()
{
person p;
return p;
}



