定义一个学生类 Student,学生类中有 3 个私有数据成员:name(姓名)、cls(班级)、grade(年级);3 个公有成员函数;Student(构造函数)、display、~Student(析构函数)。使用构造函数为 Student 类的对象赋值(name 使用动态内存分配空间),display 负责显示学生的基本信息,在析构函数中释放动态分配的内存。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
class Student
{
private:
char* name;
int cls;
int grade;
public:
Student(char* p,int c,int g)
{
name=(char*)malloc(strlen(p)+1);
strcpy(name,p);
name[strlen(p)]=0;
cls=c;grade=g;
}
void display()
{
if(name !=0)
printf("name:%s,",name);
printf("cls:%d,grade:%d\n",cls,grade);
}
~Student()
{
if(name)
{
free(name);
name = 0;
}
}
};
int main()
{
Student stu("张三",1,1);
stu.display();
return 0;
}