C++(构造函数、对象成员、析构函数、this指针)

构造函数

  • 构造函数
  • a)函数名和类名相同,可以有参数,但不能有返回值,void也不可
    b) 类一定有构造函数,如果没有写,则编译器会自动生成无参的构造函数,无任何操作,一个类中可以有多个构造函数(函数重载)

定义构造函数 如:

Student();//类内
Student::Student(){
   }//类外

定义构造函数时可以为参数提供默认值

Student(String = "LiuMin", int = 19);//类内
Student::Student(String = "LiuMin", int = 19){
   }//类外

定义带参数的构造函数:

Student::Student(string name,int age){
   
	strName = name;//赋值语句在函数体中
	nAge = age;
}

//除了这种形式之外还可以用函数初始化表的形式对其定义:
Student::Student(string name,int age):strName(name),nAge(age){
    }
//这里**不能用等号**,并且不要忘记大括号!!!!!!!!


//定义一个对象时可以这样写:
Student s1("LiuMin",18);//这样即完成了s1的初始化

//用new初始化对象:
Student s1 = Student("LiuMin",18);
Student s1 = Student{
   "LiuMin",18};
//调用两个参数的构造函数,这两种方法都是可以的

//注:
//new什么类型就得到什么类型的指针

Student* pStu = new Student("LiuMin",20);//调用两个参数的构造函数,得到的是Student类型的指针,
Student* pStu = new Student;//创建一个对象创建无参的构造函数

//调用时:
pStu->getAge();
//使用完成后记得delete!!!!!!
delete pStu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值