当前位置:   article > 正文

设计一个简单的学生信息类_在右侧编辑器中的begin-end之间补充代码,声明并定义一个学生信息类 stinfo,该类有

在右侧编辑器中的begin-end之间补充代码,声明并定义一个学生信息类 stinfo,该类有

设计一个学生信息类
一、任务描述
本关任务:声明并定义一个学生信息类。
二、相关知识
为了完成本关任务,你需要掌握类的声明和定义。

在现实世界中,经常有属于同一类的对象。例如,你的自行车只是世界上很多自行车中的一辆。在面向对象软件中,也有很多共享相同特征的不同的对象,可以利用这些对象的相同特征为它们建立一个集合,而这个集合就称为类。

C++ 中类是把各种不同类型的数据(称为数据成员)和对数据的操作(成员函数)组织在一起而形成的用户自定义的数据类型。它提供了可重用性的好处。

类定义包括声明和实现两大部分。声明部分提供了对该类所有数据成员和成员函数的描述,而实现部分提供了所有成员函数的实现代码。

类的声明
类的声明,指的是描述一个类所拥有的结构。类的声明主要包含两个部分:成员变量和成员函数。

声明一个类的格式如下:

class 类名
{
public: // 类的公有成员
int A; // 公有的成员变量
void PublicFunc(); // 公有的成员函数
private: // 类的私有成员
long B; // 私有的成员变量
void PrivateFunc(); // 私有的成员函数
public: // public,private 块可以多次交替出现
double C;
}; // 注意不要忘了最后的分号
class 是 C++ 中新增的关键字,专门用来声明类的,后面紧跟着类名,类名的首字母一般大写,以和其他的标识符区分开。{}内部是类所包含的成员变量和成员函数,它们统称为类的成员。public 也是 C++ 的新增关键字,它只能用在类的定义中,表示访问权限,下面这里介绍两种访问性:

public:公开访问性,代表这个成员能在类的定义以外的地方被使用

private:私有访问性,代表这个成员只能在类的定义内被使用

例如:

class Test
{
public:
int a;
private:
int b;
};
int main()
{
Test t;
t.a = 10; // 访问公有成员变量,正确
t.b = 10; // 访问私有成员变量,错误
}
类的定义
如果说声明是书的目录,那么定义就是目录所指的具体内容。

类的定义,指的是根据声明具体实现类的功能,与一般的函数定义很相似。

比如:

class Test
{
public:
int a;
void PubFun();
private:
int b;
void PriFun();
}; // 声明一个带有两个成员函数的类
void Test::PubFun() // 定义公有的那个成员函数
{
a = 10;
b = 10; // b 是私有成员变量,只能在成员函数的定义中访问
}
void Test::PriFun() //定义私有的那个成员函数
{
a = 20;
b = 20; // b 是私有成员变量,只能在成员函数的定义中访问
}
定义普通函数与类成员函数只有一点不同:在函数名前面加了类名::的前缀。其中的::称之为作用域运算符,它指明了成员函数所属的类。

不管是 public 成员函数,还是 private 成员函数,定义它们的方式都是相同的。

编程要求
在右侧编辑器中的Begin-End之间补充代码,声明并定义一个学生信息类 StInfo,该类有四个成员变量和两个函数,其访问性都为公有,具体要求如下:

学号:int SID

姓名:char *Name

班级:char *Class

手机号:char *Phone

给成员变量赋值的函数: void SetInfo(int sid,char name,char cla,char* phone)

打印学生信息的函数:void PrintInfo(),格式请参考测试说明。
三、测试说明
测试输入:1 小郭 计科1班 12312340000
预期输出:

学号:1
姓名:小郭
班级:计科1班
手机号:12312340000
测试输入:2 小王 计科2班 12312340001
预期输出:

学号:2
姓名:小王
班级:计科2班
手机号:12312340001
下面展示一些 源代码。

``


```javascript
#include <iostream>
using namespace std;

class StInfo
{
    /********* Begin *********/
    //在此处声明StInfo类
    public:
    void SetInfo(int SID,char* Name,char* Class,char* Phone);
    void PrintInfo();
    private:
	int sid;
    char* name;
    char* clas;
    char* phone;
    /********* End *********/
};

/********* Begin *********/
//在此处定义StInfo类
void StInfo::SetInfo(int SID,char* Name,char* Class,char* Phone)
{
	sid=SID;
	name=Name;
	clas=Class;
	phone=Phone; 
}
void StInfo::PrintInfo()
{
	cout<<"学号:"<<sid<<endl;
	cout<<"姓名:"<<name<<endl;
	cout<<"班级:"<<clas<<endl;
	cout<<"手机号:"<<phone<<endl;
}
/********* End *********/

``
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif

#include "stinfo.h"
#include <iostream>
#include <string>

using namespace std;

int main()
{
	
	int SID;
	string str1,str2,str3;
	cin >> SID >> str1 >> str2 >> str3;
	char * Name=(char*)str1.c_str(),* Class=(char*)str2.c_str(),* Phone=(char*)str3.c_str();
	StInfo info;
    info.SetInfo(SID,Name,Class,Phone);
    info.PrintInfo();
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/244314
推荐阅读
相关标签
  

闽ICP备14008679号