当前位置:编程学习 > C/C++ >>

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++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,