C++基础知识整理七(类的定义&对象&构造函数和析构函数)

本文详细介绍了C++中的类的概念,包括类的定义及对象的创建。同时,重点讲解了构造函数的作用,它是用于对象初始化的重要工具。此外,还探讨了析构函数的功能,它在对象销毁时执行,确保资源的有效释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,类的概念

student.cpp代码如下:

#include "pch.h"
#include <iostream>
#include "Cstudent.h"
using namespace std;

int main(int argc, char* argv[])
{
	Cstudent stu;

	stu.setName((char*)"张三");
	stu.setNum((char*)"A501");
	stu.setScore(80);

	cout << "姓名:" << stu.getName() << "学号:" << stu.getNum() << "成绩:" << stu.getScore() << endl;
	
	return 0;
}

Cstudent.cpp代码如下:

#include "pch.h"
#include "Cstudent.h"
#include <iostream>


Cstudent::Cstudent(void)
{
}


Cstudent::~Cstudent(void)
{
}

char* Cstudent::getName()
{
	return name;
}
char* Cstudent::getNum()
{
	return stuNum;
}

float Cstudent::getScore()
{
	return matchScore;
}

void Cstudent::setName(char* myName)
{
	strcpy_s(name , myName);
}

void Cstudent::setNum(char* myNum)
{
	 strcpy_s(stuNum , myNum);
}

void Cstudent::setScore(float myScore)
{
	matchScore = myScore;
}

Cstudent.h代码如下:

#pragma once
class Cstudent
{
public:
	Cstudent(void);//构造函数
	~Cstudent(void);//析构函数
private:
	char name[10];
	char stuNum[10];
	float matchScore;
public:
	char* getName();
	char* getNum();
	float getScore();
	void setName(char* myName);
	void setNum(char* myNum);
	void setScore(float myScore);
};

2, 构造函数:

作用:初始化

student.cpp代码如下:

#include "pch.h"
#include <iostream>
#include "Cstudent.h"
using namespace std;

int main(int argc, char* argv[])
{
	Cstudent stu((char*)"张三",(char*)"A501");
	//Cstudent stu((char*)"张三", (char*)"A501",70);

	cout << "姓名:" << stu.getName() << "学号:" << stu.getNum() << "成绩:" << stu.getScore() << endl;
	
	return 0;
}

Cstudent.cpp代码如下:

#include "pch.h"
#include "Cstudent.h"
#include <iostream>


Cstudent::Cstudent(char* myName, char* myNum, float myScore)
{
	strcpy_s(name, myName);
	strcpy_s(stuNum, myNum);
	matchScore = myScore;
}

Cstudent::Cstudent(char* myName, char* myNum)
{
	strcpy_s(name, myName);
	strcpy_s(stuNum, myNum);
	matchScore = 0;
}


Cstudent::~Cstudent(void)
{
}

char* Cstudent::getName()
{
	return name;
}
char* Cstudent::getNum()
{
	return stuNum;
}

float Cstudent::getScore()
{
	return matchScore;
}

void Cstudent::setName(char* myName)
{
	strcpy_s(name , myName);
}

void Cstudent::setNum(char* myNum)
{
	 strcpy_s(stuNum , myNum);
}

void Cstudent::setScore(float myScore)
{
	matchScore = myScore;
}

Cstudent.h代码如下:

#pragma once
class Cstudent
{
public:
	Cstudent(char* myName,char* myNum, float myScore);//构造函数
	Cstudent(char* myName, char* myNum);
	~Cstudent(void);//析构函数
private:
	char name[10];
	char stuNum[10];
	float matchScore;
public:
	char* getName();
	char* getNum();
	float getScore();
	void setName(char* myName);
	void setNum(char* myNum);
	void setScore(float myScore);
};

3,析构函数

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值