C++第二个项目实现
/***************************************************
文件名称:Person.h
作 者:zz
备 注:人的头文件
创建时间:2012-4-1
修改历史:2012-4-5
版权声明:CSDN
***************************************************/
#ifndef _Person_H
#define _Person_H
#include <string>
#include <iostream>
using namespace std;
class Person{
/*******************************************
函数名称:ostream& operator<<(ostream& ,Person&)
函数功能:输出运算符重载函数
传入参数:N/A
返回 值 :N/A
********************************************/
friend ostream& operator<<(ostream& ,Person&);
protected:
//名字
string _name;
//年龄
int _age;
//薪资
double _salary;
//不可修改的id号
const int _id;
//总人数
static int _totalPersons;
public:
/*******************************************
函数名称:Person(string name="zhangsan",int age=0,int salary=0);
函数功能:带参构造函数
传入参数:N/A
返回 值 :N/A
********************************************/
Person(string name="zhangsan",int age=0,double salary=0);
/*******************************************
函数名称:void setAge(int newAge)
函数功能:_age的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void setAge(int newAge);
/*******************************************
函数名称:void setSalary(int salary)
函数功能:_salary的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void setSalary(double salary);
/*******************************************
函数名称:void setName(int name)
函数功能:_name的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void setName(string name);
/*******************************************
函数名称:string getName();
函数功能:_name的get方法
传入参数:N/A
返回 值 :N/A
********************************************/
string getName()const;
/*******************************************
函数名称:int getAge();
函数功能:_age的get方法
传入参数:N/A
返回 值 :N/A
********************************************/
int getAge()const;
/*******************************************
函数名称:int getSalary();
函数功能:_salary的get方法
传入参数:N/A
返回 值 :N/A
********************************************/
double getSalary()const;
/*******************************************
函数名称:void print();
函数功能:print方法
传入参数:N/A
返回 值 :N/A
********************************************/
void print()const;
};
#endif
/***************************************************
文件名称:Person.cpp
作 者:zz
备 注:人的实现文件
创建时间:2012-4-1
修改历史:2012-4-5
版权声明:CSDN
***************************************************/
#include "Person.h"
#include <iostream>
#include <string>
using namespace std;
//初始化总人数
int Person::_totalPersons=0;
/*******************************************
函数名称:Person(string name,int age,int salary)
函数功能:带参构造函数
传入参数:N/A
返回 值 :N/A
********************************************/
Person::Person(string name,int age,double salary):
_name(name),_age(age),_salary(salary),_id(_totalPersons ){
_totalPersons++;
}
/*******************************************
函数名称:void setAge(int newAge)
函数功能:_age的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void Person::setAge(int newAge){
_age=newAge;
}
/*******************************************
函数名称:void setSalary(int salary)
函数功能:_salary的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void Person::setSalary(double salary){
_salary=salary;
}
/*******************************************
函数名称:void print();
函数功能:print方法
传入参数:N/A
返回 值 :N/A
********************************************/
void Person::print()const{
cout<<"Person name is"<<_name<<endl;
cout<<"Perosn id is"<<_id<<endl;
}
/*******************************************
函数名称:ostream& operator<<(ostream& ,Person&)
函数功能:输出运算符重载函数
传入参数:N/A
返回 值 :N/A
********************************************/
ostream& operator<<(ostream& out ,Person& person){
out<<"Person name:"<<person._name<<endl;
out<<"Person age:"<<person._age<<endl;
out<<"Person salary:"<<person._salary<<endl;
out<<"Person id:"<<person._id<<endl;
return out;
}
/*******************************************
函数名称:void setName(int name)
函数功能:_name的set方法
传入参数:N/A
返回 值 :N/A
********************************************/
void Person::setName(string name){
_name= name;
}
/*******************************************
函数名称:string getName();
函数功能:_name的get方法
传入参数:N/A
返回 值 :N/A
********************************************/
string Person::getName()const{
return _name;
}
/*******************************************
函数名称:int getAge();
函数功能:_age的get方法
传入参数:N/A
返回 值 :N/A
********************************************/
int Person::getAge()const{
补充:软件开发 , C++ ,