学习类的第二天

构造函数

构造函数,是当你定义一个类对象的时候,可以直接对其数据成员进行初始化,而不需要调用其成员函数进行赋值。

构造函数的函数名和类名相同,但是没有返回值

#ifndef __STUDENT_H__
#define __STUDENT_H__

class STUDENT
{
	private:
		int nID;
		int nAge;
		const char *pName;
	public:
		STUDENT(int ID, int Age, const char *pStr);
		char * GetName(void);
		int GetID(void);
		void SetID(int ID);
		void SetName(const char *pStr);

};

#endif
#include "Student.h"

STUDENT::STUDENT(int ID, int Age, const char *pStr)
{
	nID = ID;
	nAge = Age;
	pName = pStr;
}
char * STUDENT::GetName(void)
{
	return (char *)pName;
}
int STUDENT::GetID(void)
{
	return nID;
}
void STUDENT::SetID(int ID)
{
	nID = ID;
}
void STUDENT::SetName(const char *pStr)
{
	pName = pStr;
}

每次创建类对象,甚至是动态内存分配,C++都要使用构造函数

class STUDENT * stu1 = new class STUDENT(2020,18,"SS");

当你没有给这个类提供构造函数的时候,编译器会默认提供一个默认构造函数,他并不作任何工作。

但是只要你提供了构造函数,那么编译器将不再提供默认构造函数,所以每次定义类对象的时候 必须调用构造函数。
所以程序员必须写一个默认构造函数
①是给构造函数提供一个默认值

STUDENT::STUDENT(int ID = 1, int Age = 1, const char *pStr = NULL)

②利用函数重载来定义另外一个无參的构造函数

STUDENT::STUDENT();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值