类,构造函数,析构函数

目录

学生类

 构造函数

析构函数

构造函数调用时机

析构函数调用时机


类也是一种复杂的自定义数据类型,它将不同的数据类型和数据操作封装在一起.和结构体不同的是结构体只是封装数据,没有封装数据操作.

类中的数据也叫数据成员,数据的操作也叫成员函数.

class是定义类的关键字,类的成员在权限上分为,公有(public),私有(private)和保护(protected)三种

C++中类的成员默认是private属性(私有的),外部不能随意访问.结构体中可以认为是public属性(公有的),外部可以随意访问.

封装:对内数据开放,对外提供接口.

class 类名

{

成员权限:

        数据成员或成员函数说明

成员权限:

        数据成员或成员函数说明      

}

学生类

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <string>	

using namespace std;

class Student	//学生类
{
public:	//公有成员,类外可以随意访问
	//说话
	void studentSpeak()const
	{
		cout << "我是" << m_name << ",今年" << m_age << ",这次考试得分" << m_score << endl;
	}

	//改变分数
	void studentSetScore(int score)	//对外提供接口,可以修改年龄
	{
		m_score = score;
	}

	//初始化
	void studentInit(const char* name, int age, int score)
	{
		m_name = new char[64];
		strcpy(m_name, name);
		m_age = age;
		m_score = score;
	}

	//释放空间
	void studentDelete()
	{
		delete[]m_name;
	}
private:	//私有成员,类内不能随意访问(也就是在类外不能随意更改我们的数据)
	char* m_name;
	int m_age;
	int m_score;
};

int main()
{
	//定义一个类(student)对象(s)数组
	Student s[3];

	s[0].studentInit("小明", 18, 70);
	//s[0].m_socre = 100;	//error 私有数据成员类外不能随意访问,固不能修改
	cout << "改变分数之前" << endl;
	s[0].studentSpeak();
	s[0].studentSetScore(80);
	cout << "改变分数之后" << endl;
	s[0].studentSpeak();
	cout << endl;

	s[1].studentInit("小华", 19, 80);
	cout << "改变分数之前" << endl;
	s[1].studentSpeak();
	s[1].
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值