c++引用2题求解..想了一晚上了..谢谢

来源:百度知道 编辑:UC知道 时间:2024/09/24 15:17:12
1编写一个关于学生有关的程序:
(1) 定义一个学生的结构Student,其中每名学生都包括姓名和年龄。姓名请分别使用char数组和char指针实现。
(2) 编写关于设置学生姓名函数setName(),参数为Student&和char指针(传递字符串),完成通过函数对指定学生姓名的设置。
(3) 编写关于设置学生年龄函数setAge(),参数为Student和int变量(传递年龄),完成通过函数对指定学生的年龄进行设置。
(4) 编写关于输出指定学生信息的函数display(),参数为Student&,完成对指定学生信息的输出操作。
(5) 编写主函数,测试所有编写的函数

2 CandyBar结构包含3个成员。第一个成员存储第一个成员存储candy bar的品牌名称;第二个成员存储第一个成员存储candy bar的重量;第三个成员存储第一个成员存储candy bar的热量。请编写一个程序,它使用一个这样的函数,即将CandyBar的引用、char指针、double和int作为函数参数,并用最后3个值设置相应的结构成员,。最后3个参数的默认值分别为“Millennium Munch”、12.35和350。另外,该程序还包含一个以CandyBar的引用作为参数,并显示结构内容的函数。
(1) 要求每个功能都有一个具体的函数来完成。
(2) 要求主函数中只有一些变量、数组定义以及函数调用的语句
(3) 函数参数请根据实际需要尽量使用const进行限定

1、char* 实现:

// Student.h

#ifndef __STUDENT_H__
#define __STUDENT_H__

class Student
{
public:
Student(void);
~Student(void);
public:
/**
* 设置姓名
*
* @para char* name: 要设置的姓名
*/
void SetName(char* name);

/**
* 设置年龄
*
* @para char* name: 要设置的年龄
*/
void SetAge(int age);

/**
* 显示学生信息
*/
void Display(void);

private:
char* name;
int age;
};

#endif //< __STUDENT_H__

------------------------------------------------------------------

// Student.cpp

#include "Student.h"
#include <iostream>

Student::Student(void)
: name(NULL)
, age(0)
{
}

Student::~Student(void)
{
}

void Student::SetName(char* name)
{
if (NULL == name)
{
re