定义一个人员类person

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定义一个人员类person相关的知识,希望对你有一定的参考价值。

定义一个人员类person,包括成员变量:编号、姓名、性别和用于输入输出的成员函数。在此基础上派生出学生类student(增加成绩)和教师类teacher(增加教龄),并实现对学生和教师信息的输入输出。
写得越简单越好.我刚学C++

////////////person头文件///////////
#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类的对象并测试.

#include <iostream>
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的主要内容,如果未能解决你的问题,请参考以下文章

用C++定义一个人员类

用C++定义一个人员类

面向对象

每日一知识~java集合类的使用情况

设计模式——建造者模式

泛型的练习