IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++类的封装性实验 -> 正文阅读

[C++知识库]c++类的封装性实验

#include <bits/stdc++.h>
using namespace std;

class Data
{
?? ?int year,month,day;
?? ?public:
?? ??? ?Data(int y,int m,int d)?? ?//定义构造函数
?? ??? ?{
?? ??? ??? ?year = y;
?? ??? ??? ?month = m;
?? ??? ??? ?day = d;
?? ??? ?}
?? ??? ?
?? ??? ?Data(const Data&data2)?? ?//定义拷贝构造函数
?? ??? ?{
?? ??? ??? ?year = data2.year;
?? ??? ??? ?month = data2.month;
?? ??? ??? ?day = data2.day;
?? ??? ?}
?? ??? ?
?? ??? ?void display()//定义dispaly公有函数
?? ??? ?{
?? ??? ??? ?cout<<"year:"<<year<<endl;
?? ??? ??? ?cout<<"month:"<<month<<endl;
?? ??? ??? ?cout<<"day:"<<day<<endl;
?? ??? ?}
?? ??? ?
?? ??? ?void set_ymd(int y,int m,int d)//通过公有成员函数对私有数据成员赋值
?? ??? ?{
?? ??? ??? ?y = year;
?? ??? ??? ?m = month;
?? ??? ??? ?d = day;
?? ??? ?}
?? ??? ?
?? ??? ?int set_y(int y) //通过函数返回值类型为引用的成员函数对私有数据成员赋值
?? ??? ?{
?? ??? ??? ?year = y;
?? ??? ??? ?return y;
?? ??? ?}
?? ??? ?int set_m(int m)
?? ??? ?{
?? ??? ??? ?month = m;
?? ??? ??? ?return m;
?? ??? ?}
?? ??? ?int set_d(int d)
?? ??? ?{
?? ??? ??? ?day = d;
?? ??? ??? ?return d;
?? ??? ?}
?? ??? ?
?? ??? ?int yy(){//利用函数返回值访问私有数据成员;
?? ??? ??? ?return year;
?? ??? ?}
?? ??? ?int mm() {
?? ??? ??? ?return month;
?? ??? ?}
?? ??? ?int dd() {
?? ??? ??? ?return day;?? ?
?? ??? ?}
?? ??? ?
?? ??? ?void get_ymd(int *py,int *pm,int *pd)//利用形式参数为指针访问私有数据成员;
?? ??? ?{
?? ??? ??? ?*py = year;
?? ??? ??? ?*pm = month;
?? ??? ??? ?*pd = day;
?? ??? ?}
?? ??? ?
?? ??? ?void getS_ymd(int &py,int &pm,int &pd)//利用形式参数为引用访问私有数据成员。
?? ??? ?{
?? ??? ??? ?py = year;
?? ??? ??? ?pm = month;
?? ??? ??? ?pd = day;
?? ??? ?}

?? ??? ?~Data();//定义析构函数
};

class Time
{
?? ?int hour,minute,second;
?? ?public:
?? ??? ?Time(int h,int m,int s)?? ?//定义构造函数
?? ??? ?{
?? ??? ??? ?hour = h;
?? ??? ??? ?minute = m;
?? ??? ??? ?second = s;
?? ??? ?}
?? ??? ?
?? ??? ?Time(const Time&time2)?? ?//定义拷贝构造函数
?? ??? ?{
?? ??? ??? ?hour = time2.hour;
?? ??? ??? ?minute = time2.minute;
?? ??? ??? ?second = time2.second;
?? ??? ?}
?? ??? ?
?? ??? ?void display()//定义dispaly公有函数
?? ??? ?{
?? ??? ??? ?cout<<"hour:"<<hour<<endl;
?? ??? ??? ?cout<<"minute:"<<minute<<endl;
?? ??? ??? ?cout<<"second:"<<second<<endl;
?? ??? ?}
?? ??? ?
?? ??? ?void set_hms(int h,int m,int s)//通过公有成员函数对私有数据成员赋值
?? ??? ?{
?? ??? ??? ?h = hour;
?? ??? ??? ?m = minute;
?? ??? ??? ?s = second;
?? ??? ?}
?? ??? ?
?? ??? ?int set_h(int h) //通过函数返回值类型为引用的成员函数对私有数据成员赋值
?? ??? ?{
?? ??? ??? ?hour = h;
?? ??? ??? ?return h;
?? ??? ?}
?? ??? ?int set_m(int m)
?? ??? ?{
?? ??? ??? ?minute = m;
?? ??? ??? ?return m;
?? ??? ?}
?? ??? ?int set_s(int s)
?? ??? ?{
?? ??? ??? ?second = s;
?? ??? ??? ?return s;
?? ??? ?}
?? ??? ?
?? ??? ?int hh() {//利用函数返回值访问私有数据成员;
?? ??? ??? ?return hour;
?? ??? ?}
?? ??? ?int mm() {
?? ??? ??? ?return minute;
?? ??? ?}
?? ??? ?int ss() {
?? ??? ??? ?return second;
?? ??? ?}
?? ??? ?
?? ??? ?void get_hms(int *ph,int *pm,int *ps)//利用形式参数为指针访问私有数据成员;
?? ??? ?{
?? ??? ??? ?*ph = hour;
?? ??? ??? ?*pm = minute;
?? ??? ??? ?*ps = second;
?? ??? ?}
?? ??? ?
?? ??? ?void get_hms(int &ph,int &pm,int &ps)//利用形式参数为引用访问私有数据成员。
?? ??? ?{
?? ??? ??? ?ph = hour;
?? ??? ??? ?pm = minute;
?? ??? ??? ?ps = second;
?? ??? ?}
?? ??? ?
?? ??? ?~Time();//定义析构函数
};

int main()
{
?? ?int year,month,day,hour,minute,second;
?? ?cout<<"请输入年月日:"<<endl;
?? ?cin>>year>>month>>day;
?? ?cout<<"请输入时分秒:"<<endl;
?? ?cin>>hour>>minute>>second;
?? ?
//?? ?Data data2(2020,11,11); //调用拷贝构造函数
//?? ?Time time2(14,11,12);
?? ?
?? ?Data data2(year,month,day);//声明类(调用构造函数)
?? ?Time time2(hour,minute,second);
?? ?
//?? ?data2.set_ymd(year,month,day);//通过公有成员函数对私有数据成员赋值;
//?? ?time2.set_hms(hour,minute,second);
?? ?
//?? ?data2.get_ymd(&year,&month,&day);//利用形式参数为指针访问私有数据成员;
//?? ?data2.get_hms(&hour,&minute,&second);
?? ?
//?? ?data2.getS_ymd(year,month,day);//利用形式参数为引用访问私有数据成员。
//?? ?time2.getS_hms(hour,minute,second);
?? ?
?? ?data2.display();//调用dispaly公有函数
?? ?time2.display();
?? ?
?? ?return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:24:25  更:2021-11-12 19:26:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:37:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码