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

C++:类和对象1

1.引入

 

C++与Java不同,不是纯面向对象的语言,是基于面向对象的语言,因为它兼容c,喜欢混着对象和过程写Java是纯面向对象的语言,就基本上是类。

如果是面向对象的语言就基本上是类,而面向过程的语言就是一个个函数。

C++第一个类的引入就是把结构体升级了。

struct Stack
{
    int*a;
    int top;
    int capacity;
};

可以说这个是结构体,也可以说它是类,因为C++兼容c语言,所以结构体可以继续使用,而类,是C++产生的。表现为:

int main()
{
    struct Stack st;
    Stack st1;
}

这两种定义方法都是对的,当做类看时Stack是其类名,类名可以做类型,所以C++不喜欢直接使用typedef,除此之外,C++还有个好处,就是可以定义成员函数。

struct Stack
{
    void Init();
    int*a;
    int top;
    int capacity;
};

不过C++定义类更喜欢用class来,后面我们会介绍struct与class的区别。

2.类的定义

class classname
{
//类体,由成员函数和成员变量组成
};//注意有分号,这个和结构体相同

class为定义类的关键字,classname为类的名字,{}中为类的主体,着重注意类后面的分号不能省略。类体中的内容称为类的成员,类中的变量称为类的成员变量或者类的属性,类中的函数称为类的方法或者成员函数。

类的两种定义方法:

1.声明和定义放在一起:

class person
{    
public:
    void show()
    {
        print("gohoihojo");
    }
public:
    int a;
    int num;
    char name;
}

方法如果直接在类里面定义默认就是内联。

2.声明与定义分离:

声明:

在一个.h文件中

class person
{
public:
    void show();
    
public:
    int a;
    int num;
   

http://www.kler.cn/a/350591.html

相关文章:

  • python(25) : 含有大模型生成的公式的文本渲染成图片并生成word文档(支持flask接口调用)
  • 【机器学习实战入门】基于深度学习的乳腺癌分类
  • MySQL HASH索引详解
  • UllnnovationHub,一个开源的WPF控件库
  • 移动端布局 ---- 学习分享
  • Linux下源码编译安装Nginx1.24及服务脚本实战
  • uni-app的界面通讯思维导图
  • 64页精品PPT | 汽车经销商数据应用解决方案
  • 你存在,在我们的攻击画像里
  • Spring Boot:中小型医院网站的敏捷开发
  • 模拟退火算法最常见知识点详解与原理简介控制策略
  • VsCode环境配置C++环境
  • 基于SpringBoot的“社区医院管理服务系统”的设计与实现(源码+数据库+文档+PPT)
  • 高质量SCI论文撰写及投稿丨论文选题、文献调研、实验设计、数据分析、论文结构及语言规范等----AI强大功能
  • 抖音解压视频素材宝库
  • YOLO11 实例分割 | 自动标注 | 预标注 | 标签格式转换 | 手动校正标签
  • 如何使用 Git Cherry-Pick 和 Reset 处理误提交,并确保安全回滚
  • win软件 超强的本地视频 图片去水印 动态水印!
  • Nuxt.js 应用中的 modules:done 事件钩子详解
  • 【C++贪心】1262. 可被三整除的最大和|1762
  • Unity3D模型消融方法(一)
  • 【读书笔记·VLSI电路设计方法解密】问题18:功能验证在集成电路设计过程中的作用是什么
  • 裸硅芯片无压烧结银,助力客户降本增效
  • HormonyOS中组件的通用属性
  • 华为免费杀毒软件 | HiSec Endpoint 智能终端安全系统
  • 【在Linux世界中追寻伟大的One Piece】Jsoncpp|序列化