首页 > 编程语言 >C++程序设计最细教程

C++程序设计最细教程

时间:2024-07-15 18:54:53浏览次数:11  
标签:教程 最细 cout 对象 C++ mp1 属性 string MobilePhone

1. 类与对象(重点)

1.1 概念

类:类是一个抽象的概念,描述同一类对象的特征。

对象:符合类特性特性的实体。

对象需要按照类的定义进行创建,因此先编写类才能创建对象。

1.2 类的内容

类中最基础的内容包括两部分:

  • 属性(成员变量、数据成员)

用来描述类对象的数据段,通常是名词变量,例如:身高、品种、型号......

  • 行为(成员函数)

表示类对象能做的事情,通常是动词函数,例如:学习、打猎、关机......

成员 = 属性 + 行为

【例子】以“手机”实体为例,来说明类的定义。

手机的属性:

品牌、型号、重量

手机的行为:

播放音乐、运行游戏、通讯

#include <iostream>

using namespace std;

//手机的属性:
//	品牌、型号、重量
//手机的行为:
//	播放音乐、运行游戏、通讯

/**
 * @brief The MobilePhone class
 * 帕斯卡命名法(大驼峰命名法):
 * 所有单词的首字母大写
 */
class MobilePhone
{
public: // 公有权限:表示不加任何访问限制
    string brand;
    string model;
    int weight;

    void play_music()
    {
        cout << "鸡你太美" << endl;
    }

    void run_game()
    {
        cout << "运行游戏" << endl;
    }

    void communicate()
    {
        cout << "喂喂喂" << endl;
    }
};

1.3 实例化对象

创建对象有两种方式:

  • 栈内存对象

栈内存对象的生命周期是所在的{},当{}结束时,栈内存对象自动被销毁。

#include <iostream>

using namespace std;

//手机的属性:
//	品牌、型号、重量
//手机的行为:
//	播放音乐、运行游戏、通讯

/**
 * @brief The MobilePhone class
 * 帕斯卡命名法(大驼峰命名法):
 * 所有单词的首字母大写
 */
class MobilePhone
{
public: // 公有权限:表示不加任何访问限制
    string brand;
    string model;
    int weight;

    void play_music()
    {
        cout << "鸡你太美" << endl;
    }

    void run_game()
    {
        cout << "运行游戏" << endl;
    }

    void communicate()
    {
        cout << "喂喂喂" << endl;
    }
};



int main()
{
    // 创建一个栈内存对象
    MobilePhone mp1;
    // 写入属性值
    mp1.brand = "小米";
    mp1.model = "14ultra";
    mp1.weight = 222;
    // 读取属性值
    cout << mp1.brand << endl;
    cout << mp1.model << endl;
    cout << mp1.weight << endl;
    // 调用成员函数
    mp1.communicate();
    mp1.play_music();
    mp1.run_game();

    return 0;
}

更多内容敬请期待

标签:教程,最细,cout,对象,C++,mp1,属性,string,MobilePhone
From: https://blog.csdn.net/m0_65222138/article/details/140401391

相关文章

  • Windows下C++动态链接库的生成以及使用
    目录一.前言二.生成动态链接库三.使用动态链接库四.其他一.前言这篇文章简单讨论一下Windows下如何使用VS生成和使用C++动态链接库,示例使用VS2022环境。二.生成动态链接库先创建C++项目-动态链接库(DLL)然后将默认生成的.h和.cpp文件清理干净,当然你也可以选择保......
  • 【C/C++】结构体内存对齐
    结构体内存对齐详解1、第一个成员在与结构体变量偏移量为0的地址处2、其他成员变量要偏移到对齐数的整数倍的地址处,注意偏移是从结构体首地址处开始的。对齐数取的是编译器默认的一个对齐数与该成员大小 这个俩个数中的最小值。【VS中默认的值为8、Linu......
  • autolab搭建教程
    主要照着官方文档配置:https://docs.docker.com/compose/install/linux/#install-using-the-repository这里主要讲一些坑点。SSL官方教程:https://docs.autolabproject.com/installation/docker-compose/#configuring-tlsssl(notworking)autolab自带的证书申请机制sudo./ssl......
  • centos8 内核升级教程 执行安装成功后 reboot
    Centos处理步骤先设置DNS为114.114.114.114等CentOS8升级内核到6.9步骤1查看内核现状版本4.18[[email protected]]#hostnamectlStatichostname:localhost.localdomainIconname:computer-vmChassis:vmMachineID:1c063b9ed186473e891a2fe6ac0a072c......
  • Apollo 教程
    关于Apollo的教程,这可能是指几个不同的内容领域,因为“Apollo”这个名字关联了多个技术项目和框架。以下是两个最常见领域的教程指引:1.ApolloGraphQLApollo是一个广泛使用的开源GraphQL客户端和服务端工具集,它帮助开发者构建数据驱动的现代应用程序。如果你是在寻找关于......
  • kimi写代码:c++ 线程池
    https://kimi.moonshot.cn/share/cqaberkdvond1bljn8sg在这个示例中:线程池创建了固定数量的工作线程。enqueue方法用于将任务添加到队列,并返回一个std::future对象,可用于获取任务的结果。每个工作线程在循环中等待任务分配,并在接收到任务后执行它。当线程完成分配的任务后......
  • AI绘画Stable Diffusion 零基础入门 —AI 绘画原理与工具介绍,万字解析AI绘画的使用教
    大家好,我是设计师阿威想要入门AI绘画,首先需要了解它的原理是什么样的。其实很早就已经有人基于深度学习模型展开了对图像生成的研究了,但在那时,生成的图像分辨率和内容都非常抽象。直到近两年,AI产出的图像内容的质量变高、而且有一定的艺术价值,这时它才算正式拥有了理......
  • AI绘画Stable Diffusion教程,6种提示词角度!精准实现你的 stable diffusion 创作意图!
    1、引言本期内容的核心目标是向你展示构图、风格、媒介、画面清晰度、灯光效果以及颜色氛围等6大类别中的常用标签(tags),这些标签将为你提供更深入的理解,并帮助你更有效地编写提示词(prompt)。这些标签可以大大影响AI绘图模型生成的图片内容,掌握好它们的使用,将有助于你在AI绘......
  • 如何使用AI绘画工具stable diffusion填充画外内容?保姆级教程建议收藏!
    大家好,我是设计师阿威当我们尝试绘制高分辨率的图片时,传统的SD模型常常会遇到诸多问题,例如元素重复、显存不足和生成时间过长等。但如果只绘制低分辨率的图片,却很难生成丰富的画面元素和细节。我们可以借助outpaint来解决这个问题。Outpaint可以简单地理解为绘制画外内容,......
  • 面试算法(排序)附带c++/python实现
            排序算法是面试中会经常会被问到的一类问题,如果可以掌握较多的排序算法,在面试过程中才更有机会被面试官看重哦,下面我们准备了一些常见的面试算法,并分别给出了c++和python的代码实现,小伙伴们一起学起来吧!冒泡排序(BubbleSort)        基于交换的排序,......