类和对象的特性

news2024/9/22 1:07:19

1.检查错误。

代码:

#include <iostream>

using namespace std;

class Time
{
private:
    /* data */
public:
    Time(/* args */);
    ~Time();
    void set_time(void);
    void show_time(void);
    int hour;
    int minute;
    int sec;
};

Time::Time(/* args */)
{
}

Time::~Time()
{
}

Time t;

int main() {

    t.set_time();//成员函数,需要通过对象来调用
    t.show_time();
    return 0;
}

void Time::set_time(void) {//成员函数,定义的时候需要添加类名来说明
    cin >>t.hour;
    cin >>t.minute;
    cin >>t.sec;
}

void Time::show_time(void) {
    cout <<t.hour <<":" <<t.minute <<":" <<t.sec <<endl;
}

输出结果:

2.成员函数的私有化,定义成员函数。

代码:

 

#include <iostream>

using namespace std;

class Time
{
private:
    int hour;
    int minute;
    int sec;
public:
    Time(/* args */);
    ~Time();

    void set_time(void) {
        cin >>hour;
        cin >>minute;
        cin >>sec;
    }

    void show_time(void) {
        cout <<hour <<":" <<minute <<":" <<sec <<endl;
    }
};

Time::Time(/* args */)
{
}

Time::~Time()
{
}

Time t;

int main() {

    t.set_time();
    t.show_time();
    return 0;
}

输出结果:

3.类内声明,类外实现成员函数。

代码:

9_3.cpp

#include "Student.h"

int main() {
    Student stu;
    stu.set_value();
    stu.display();
    return 0;
}

student.cpp

#include <string>
#include <iostream>

using namespace std;
class Student
{
private:
    int num;
    string name;
    char sex;
public:
    void display();
    void set_value();

};


inline void Student::display() {
    cout << "num = " << num << endl;
    cout << "name = " << name << endl;
    cout << "sex = " << sex << endl; 
}

void Student::set_value() {
    cin >> num;
    cin >> name;
    cin >> sex;
}

输出结果:

4成员函数的声明和实现分离

代码:

9_4.cpp

#include "Student.h"

int main() {
    Student stu;
    stu.set_value();
    stu.display();
    hello();
    return 0;
}

Student.cpp

#include "Student.h"//<>is not fit

void Student::display() {
    cout << "num = " << num << endl;
    cout << "name = " << name << endl;
    cout << "sex = " << sex << endl; 
}

void Student::set_value() {
    cin >> num;
    cin >> name;
    cin >> sex;
}

void hello() {
    cout <<"Hello world1" <<endl;
}

Student.h

#include <string>
#include <iostream>

using namespace std;
class Student
{
private:
    int num;
    string name;
    char sex;
public:
    void display();
    void set_value();

};

输出结果:

6.计算长方体体积

代码:

#include <iostream>

using namespace std;

class Cube
{
private:
    int length;
    int width;
    int height;
public:
    Cube(int l, int w, int h);
    ~Cube();

    int volume();
};

Cube::Cube(int l, int w, int h)
{
    length = l;
    width = w;
    height = h;
}

Cube::~Cube()
{
}

int main() {
    int a,b,c;
    cin >> a >> b >> c;
    Cube c1(a, b, c);
    cout << "volume = " <<c1.volume() <<endl;

    cin >> a >> b >> c;
    Cube c2(a, b, c);
    cout << "volume = " <<c2.volume() <<endl;

    cin >> a >> b >> c;
    Cube c3(a, b, c);
    cout << "volume = " <<c3.volume() <<endl;
    
}

int Cube::volume() {
    return height*width*length;
}

输出结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1680018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打个样为centos安装mysql(下载安装)

文章目录 一、下载二、卸载mariadb三、创建用户和组四、解压并安装mysql五、修改my.cnf六、配置环境七、初始化数据库八、启动mysql服务、改密码配置远程链接九、完成 如果是windows的服务器&#xff0c;请看我另外一个文章&#xff1a; windows下安装mysql教程 一、下载 htt…

rocketmq的存储和检索

messageId是rocketmq自动生成的。

通用人工智能将如何重塑未来

通用人工智能(AGI)是一种人工智能&#xff0c;具有与人类一样的获取知识、应用知识解决问题和理解能力。与专门处理受限任务的狭义人工智能系统不同&#xff0c;AGI寻求发展先进的认知技能&#xff0c;以促进在不同情况下完成复杂任务。AGI是一种人工智能&#xff0c;试图模仿人…

Linux网络编程——HTTP协议的理解与运用

目录 前言 一、认识URL 二、认识HTTP样例 三、HTTP的报头内容 1.url 2. Content-Type 3.Method 方法 1.GET方法 2.POST方法 4、状态码 5.cookie和session 前言 我们知道&#xff0c;协议就是一种约定&#xff0c;客户端与服务端统一的用这种约定进行传输数据。我们…

电工能混到这份上

最近看到某电工师傅发了一篇帖子&#xff0c;大致内容是他在处理一个简单故障的时候居然花了很长的时间。我们一起来看看他遇到的是什么故障吧! plc 控制的一台设备&#xff0c;行走部分靠 2 个脚踏开关控制&#xff08;内部开关量控制方向&#xff0c;电位器控制速度&#xff…

PSAI超强插件来袭:一键提升设计效率!

无需魔法&#xff0c;直接在PS中完成图生图、局部重绘、线稿上色、无损放大、扩图等操作。无论你是Windows还是Mac用户&#xff0c;都能轻松驾驭这款强大的AI绘图工具&#xff0c;这款PSAI插件让你的设计工作直接起飞&#xff01; 在之前的分享中&#xff0c;我为大家推荐过两…

威纶通触摸屏下载项目文件后,文本都变成了框框的解决办法

威纶通触摸屏下载项目文件后,文本都变成了框框的解决办法 我们在用Easy builder pro编辑某些项目的情况下,编译没问题,为什么下载到触摸屏之后,文本都变成了框框了呢? 分析:: 不能正常显示文本的原因是字体文件缺失。 解决办法: 如下图所示,在Easy builder pro软件中,…

函数栈帧的创建和销毁(详细理解)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;c语言课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 问题&#xff1a; 1.ebp&#xff0c;esp两个寄存器用来维护函数栈帧 2.main函数也一个函数&#…

ArcGIS10.X入门实战视频教程(arcgis入门到精通)

点击学习&#xff1a; ArcGIS10.X入门实战视频教程&#xff08;GIS思维&#xff09;https://edu.csdn.net/course/detail/4046?utm_sourceblog2edu 点击学习&#xff1a; ArcGIS10.X入门实战视频教程&#xff08;GIS思维&#xff09;https://edu.csdn.net/course/detail/404…

C++入门系列-赋值运算符重载

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 赋值运算符重载 运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也具有其返回值类型&#xff0c;函数名字以及参…

(2)双指针练习:复写零

复写零 题目链接&#xff1a;1089. 复写零 - 力扣&#xff08;LeetCode&#xff09; 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入…

想做好抖店?新手、老玩家切勿掉进这些坑,操作要慎重!

大家好&#xff0c;我是电商花花。 很多人都说做抖音小店不需要脑子&#xff0c;会抄就行&#xff0c;难道做店真的就是这样吗&#xff1f; 真的就是会抄&#xff0c;会简单选品&#xff0c;找一些达人就能出单&#xff0c;就能实现睡后收入了吗&#xff1f; 其实并不见得&a…

✅HTTPS和HTTP的区别是什么?

一、问题解析 HTTP和HTTPS是两种协议&#xff0c;分别是Hypertext Transfer Protocol和HyperText Transfer Protocol Secure。 HTTPS还经常被称之为HTTP over SSL或者HTTP over TSL&#xff0c;HTTPS经由HTTP进行通信&#xff0c;但利用SSL/TLS来加密数据包。 他们的区别主要…

【35分钟掌握金融风控策略28】贷中模型体系策略应用

目录 贷中模型体系策略应用 信用模型体系和模型在策略中的应用 反欺诈模型体系和模型在策略中的应用 运营模型体系和模型在策略中的应用 贷中模型体系策略应用 在贷前模型部分已经讲过&#xff0c;贷前开发的很多模型是可以在贷中直接使用的。贷中与贷前的不同点在于&…

三大平台直播视频下载保存方法

终于解决了视频号下载的问题&#xff0c;2024年5月15日亲测可用。 而且免费。 教程第二部分&#xff0c;有本地电脑无法下载的解决方案。 第一部分&#xff1a;使用教程&#xff08;正常&#xff09; 第1步&#xff1a;下载安装包 下载迅雷网盘搜索&#xff1a;大海福利合集…

建模:3dmax

3Dmax 制作模型和动画&#xff08;橘肉&#xff09;&#xff1b; RizomUV 对模型进行展UV&#xff08;橘皮&#xff09;&#xff1b; Substance Painter 纹理手绘&#xff08;给橘皮制定想要的皮肤&#xff09;&#xff1b; 1.基础 1.1可编辑多边形、可编辑样条线 体、面都需要…

【计算机毕业设计】springboot二手家电管理平台

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;二手家电管理平台当然不能排除在外。二手家电管理平台是在实际应用和 软件工程的开发原理之上&#xff0c;运用java语言以及前台VUE框架&#xf…

【论文阅读】VMamba: Visual State Space Model

VMamba:视觉状态空间模型 code&#xff1a;https://github.com/MzeroMiko/VMamba Background ​ CNN拥有线性复杂度因而可以处理高分辨率的图像&#xff0c;而ViT在拟合能力方面超过了CNN&#xff0c;但ViT是二次复杂度&#xff0c;在处理高分辨率图像时计算开销较大。ViT通过…

深度盘点解析一家公司的PMO的定位与发展规划

对于一家公司的PMO(项目管理办公室)的定位与发展规划,今天从以下几个方面进行深度盘点和解析,具体如下: 一、PMO的定位 1. 战略与推手:PMO是持续提升组织项目管理水平,实现组织所有项目成功的重要推手。它站在公司战略的高度,从全局视角出发,对公司内部的项目进行统一…

MyBatis-Plus简介

一、简介 官网&#xff1a;https://baomidou.com/ MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 二、特性 无侵入&#xff1a;只做增强不做改变&#xff0c;引…