当前位置: 首页 > news >正文

C++之Person类中调用Date类

main.cpp

#include <iostream>
#include "Person.h"
using namespace std;int main()
{Person myPerson;// Person myPerson("S.M.Wang", 070145, "莲花路200号");cout << "请输入姓名:" ;string name;cin >> name;cout << "请输入ID:" ;int id;cin >> id;cout << "请输入住址:" ;string address;cin >> address;Date myDate;cout << "请输入生日年:" ;int year;cin >> year;cout << "请输入生日月:" ;int month;cin >> month;cout << "请输入生日天:" ;int day;cin >> day;myPerson.setName(name);myPerson.setID(id);myPerson.setAddress(address);myDate.setYear(year);myDate.setMonth(month);myDate.setDay(day);myPerson.setBirthday(myDate); // 调用的形参为类myPerson.print();return 0;
}

Person.h

#include <iostream>
#include "Date.h"
using namespace std;class Person
{
public:Person();Person(string name, int id, string address);~Person();void setPerson(string name, int id, string address);void setName(string name);void setID(int id);void setAddress(string address);void setBirthday(Date d);string getName();int getID();string getAddress();Date getBirthday();void print(); // outPutResult
private:string Name;int ID;string Address;Date Birthday;
};

Person.cpp

#include "Person.h"
#include <iostream>
using namespace std;Person::Person()
{Name = "S.M.Wang";ID = 070145;Address = "莲花路200号";
}Person::Person(string name, int id, string address)
{setPerson(name, id, address);
}Person::~Person()
{//cout << "object Destructor is called" << endl;
}void Person::setPerson(string name, int id, string address)
{Name = name;ID = id;Address = address;
}void Person::setName(string name)
{Name = name;
}void Person::setID(int id)
{ID = id;
}void Person::setAddress(string address)
{Address = address;
}string Person::getName()
{return Name;
}int Person::getID()
{return ID;
}string Person::getAddress()
{return Address;
}void Person::setBirthday(Date d) // 调用的形参是类
{Birthday = d;
}Date Person::getBirthday() // 返回的是类
{return Birthday;
}void Person::print()
{cout << "Name:" << getName() << endl;cout << "ID:" << getID() << endl;cout << "Address:" << getAddress() << endl;cout << "Birthday:" << getBirthday().getYear(); // getBirthday()返回的是类,再调用类中的子函数满足cout的返回值。cout << " " << getBirthday().getMonth();cout << " " << getBirthday().getDay() << endl;
}

Date.h

#include <iostream>using namespace std;class Date
{friend class Person;
public:Date();Date(int y, int m, int d);~Date();void setYear(int y);void setMonth(int m);void setDay(int d);int getYear();int getMonth();int getDay();void print();
private:int Year;int Month;int Day;};

Date.cpp

#include "Date.h"
#include <iostream>
using namespace std;Date::Date()
{Year = 0;Month = 0;Day = 0;
}Date::Date(int year, int month, int day)
{setYear(year);setMonth(month);setDay(day);
}Date::~Date()
{//cout << "object Destructor is called" << endl;
}void Date::setYear(int year)
{Year = year;
}void Date::setMonth(int month)
{Month = month;
}void Date::setDay(int day)
{Day = day;
}int Date::getYear()
{return Year;
}int Date::getMonth()
{return Month;
}int Date::getDay()
{return Day;
}void Date::print()
{cout << "Year :" << getYear() << endl;cout << "Month :" << getMonth() << endl;cout << "Day :" << getDay() << endl;
}

Result:

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Pygame中Sprite实现逃亡游戏2
  • 一,初始 MyBatis-Plus
  • (11)iptables-仅开放指定ip访问指定端口
  • 深度学习自编码器 - 去噪自编码器篇
  • python画图|3D bar进阶探索
  • mozilla/pdf.js view.html加载指定页码
  • 【大模型实战篇】关于Bert的一些实操回顾以及clip-as-service的介绍
  • Π-系上的最小 d-系等于 Π-系上的最小集代数
  • git学习报告
  • 成都睿明智科技有限公司电商服务引领品牌跃升
  • [leetcode]64_最小路径和
  • 持续学习与创新能力的双重提升
  • SDKMAN!软件开发工具包管理器
  • 828华为云征文|使用Flexus X实例集成ES搜索引擎
  • 应用层 II(文件传输协议FTP)【★★】
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《剑指offer》分解让复杂问题更简单
  • 【React系列】如何构建React应用程序
  • angular组件开发
  • Git初体验
  • httpie使用详解
  • Java 最常见的 200+ 面试题:面试必备
  • JSONP原理
  • JS专题之继承
  • Nacos系列:Nacos的Java SDK使用
  • rabbitmq延迟消息示例
  • React中的“虫洞”——Context
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 如何进阶一名有竞争力的程序员?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 深入浅出webpack学习(1)--核心概念
  • 使用 QuickBI 搭建酷炫可视化分析
  • 思否第一天
  •  一套莫尔斯电报听写、翻译系统
  • 异步
  • 用Visual Studio开发以太坊智能合约
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • ​用户画像从0到100的构建思路
  • #include<初见C语言之指针(5)>
  • #Linux(帮助手册)
  • #nginx配置案例
  • (007)XHTML文档之标题——h1~h6
  • (1)(1.9) MSP (version 4.2)
  • (13)Hive调优——动态分区导致的小文件问题
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (八)c52学习之旅-中断实验
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (转载)深入super,看Python如何解决钻石继承难题