定义一个人员类person
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定义一个人员类person相关的知识,希望对你有一定的参考价值。
定义一个人员类person,包括成员变量:编号、姓名、性别和用于输入输出的成员函数。在此基础上派生出学生类student(增加成绩)和教师类teacher(增加教龄),并实现对学生和教师信息的输入输出。
写得越简单越好.我刚学C++
#ifndef PERSON_H
#define PERSON_H
#include <string>
#include <iostream>
using namespace std;
class person
public:
person();
//void SetNum(int NewNum);
//void SetName(string NewName);
//void SetSex(string NewSex);
void Input();
//int GetNum() const;
//string GetName() const;
//string GetSex() const;
void Output() const;
private:
int num;
string name;
string sex;
;
#endif
////////////student头文件///////////
#ifndef STUDENT_H
#define STUDENT_H
#include "person.h"
class student:public person
public:
student();
void Input();
void Output() const;
private:
float score;
;
#endif
////////////teacher头文件///////////
#ifndef TEACHER_H
#define TEACHER_H
#include "person.h"
class teacher:public person
public:
teacher();
void Input();
void Output() const;
private:
int age;
;
#endif
////////////person源文件///////////
#include "person.h"
#include <string>
#include <iostream>
using namespace std;
person::person():num(0),name(""),sex("")
void person::Input()
cout<<"please input the information:\n";
cin>>num>>name>>sex;
void person::Output() const
cout<<num<<endl;
cout<<name<<endl;
cout<<sex<<endl;
////////////student源文件///////////
#include "student.h"
#include <iostream>
using namespace std;
student::student():person(),score(0)
void student::Input()
person::Input();
cout<<"please input the score:\n";
cin>>score;
void student::Output() const
person::Output();
cout<<score<<endl;
////////////teacher源文件///////////
#include "teacher.h"
#include <iostream>
using namespace std;
teacher::teacher():person(),age(0)
void teacher::Input()
person::Input();
cout<<"please input the score:\n";
cin>>age;
void teacher::Output() const
person::Output();
cout<<age<<endl;
////////////主函数///////////
#include "person.h"
#include "student.h"
#include "teacher.h"
int main()
teacher p;
p.Input();
p.Output();
return 0;
参考技术A 晕,还有更快的,C++的不在行,这个我不行~~~~~~~~~~~~ 参考技术B 不知道希声和寡会不会来回答~~~哈哈
c++定义一个名为Person的类?
定义一个名为Person的类,该类有如下私有成员变量:
char Name[20];
float height;
float weight;
并且有如下公有成员函数:
void setPerson(char *n,float h,float w); //设置姓名、身高和体重 strcpy string.h或cstring
void print(); //输出姓名、身高和体重
char* getName(); //取得姓名
void getHeight(float &h);//取得身高
void getWeight(float *w); //取得体重
请在main函数中声明Person类的对象并测试.
using namespace std;
//这个类独立写在头文件里比较好
class Person
private:
char *Name;
float height;
float weight;
public:
Person()//构造函数可以不实现
~Person()//析构函数也不实现了
//并且有如下公有成员函数:
void setPerson(char *n,float h,float w); //设置姓名、身高和体重 strcpy string.h或cstring
void print(); //输出姓名、身高和体重
char* getName(); //取得姓名
void getHeight(float &h);//取得身高
void getWeight(float *w); //取得体重
;
void Person::setPerson(char *n,float h,float w)
Name=n;
height=h;
weight=w;
void Person::print()
cout<<"Name:"<<Name<<" Height:"<<height<<" Weight:"<<weight<<endl;
char *Person::getName()
return Name;
//个人觉得下面两个函数应该直接定义返回值,而不是使用参数
void Person::getHeight(float &h)
h=height;
void Person::getWeight(float *w)
w=&weight;
//////////////////////////////////////////////////////////////////////////
//主函数测试
void main()
Person p;
p.setPerson("21chenxb",175,60.5);
p.print();
参考技术A #include <cstring>
#include <iostream.h>
class Person
private:
char Name[20];
float height;
float weight;
public:
void setPerson(char *n = 0, float h = 1.75f, float w = 65.0f);
void print();
char * getName(void);
void getHeight(float &h);
void getWeight(float *w);
;
void Person::setPerson(char *n, float h, float w)
if(n)strcpy(Name, n); height = h; weight = w;
void Person::print (void)
cout
<< "Mr/Mrs "
<< Name << ": H["
<< height <<"]\tW["
<< weight <<"]" <<endl;
char * Person::getName(void)
char * n = new char[strlen(Name)];
strcpy(n, Name);
return n;
void Person::getHeight(float & h) h = height;
void Person::getWeight(float * w) *w = weight;
int main(void)
Person p; float h = 0.0f, w = 0.0f; char n[20];
cout << "请输入姓名,身高,体重:" ;
cin >> n >> h >> w;
p.setPerson(n, h, w);
p.print ();
h = 0.0f; w = 0.0f;
char * nx = p.getName();
cout << "getName() -> " << nx << endl;
p.getHeight (h);
cout << "getHeight()-> " << h << endl;
p.getWeight (&w);
cout << "getWeight()-> " << w << endl;
return 0;
以上是关于定义一个人员类person的主要内容,如果未能解决你的问题,请参考以下文章