【C++ | 类】类和对象
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
⏰发布时间⏰:2024-05-30
本文未经允许,不得转发!!!
目录
- 🎄一、概述
- 🎄二、C++中的类
- ✨2.1 类将数据和函数组织在一起
- ✨2.2 类的访问控制(public、private、protect)
- ✨2.3 实现类成员函数
- 🎄三、对象(实例)
- 🎄四、类作用域
- ✨4.1 类作用域中的常量
- 🎄五、总结
🎄一、概述
C++是面向对象编程的语言,编写C++代码是以类的形式来组织代码的,然后实例化一个个对象,让对象之间的交互来完成要做的事情。本文主要介绍C++中的自定义类型——类,以及怎么使用类去构建对象。
既然类是一种自定义类型,那么我们先了解一下什么是类型。类型主要完成下面三项工作:
- 1、决定该类型的变量(对象)占用多少字节的内存:
例如:int类型占用4个字节;short类型占用2个字节;char占用1个字节。
- 2、决定怎样解释内存中的数据;
例如:内存中存放着0xff这个数据,int类型和char类型对0xff的解释是不同的。
- 3、决定该类型的变量(对象)可以执行哪些操作:
例如:int类型的变量可以执行加减乘除等操作;而int*类型的变量一般不会执行乘法、除法的操作。
下面的内容将介绍类和对象。
🎄二、C++中的类
类是一种将抽象转换为用户定义类型的 C++工具, 它将数据表示和操纵数据的方法组合成一个整洁的包。
✨2.1 类将数据和函数组织在一起
如果你之前学过C语言,那么可能会觉得类和结构体会有点类似,它可以将多个数据组织在一起,但不同于C语言的结构体,类成员除了数据还可以是函数。定义一个类,可以使用class关键字。
class Animal { int legs; int eye; void run() { cout private: int legs; int eye; public: void run() // 公有接口 { cout private: int legs; int eye; public: int legs() // 公有接口 { return legs; } }; ... public: void run() // 公有接口 { cout private: int legs; int eye; public: void run() // 公有接口 { cout legs = _legs; } int Animal::GetLegs() { return legs; } int main() { Animal animal; animal.run(); animal.SetLegs(4); cout private: int legs; int eye; public: void run() { cout return legs; } }; void Animal::SetLegs(int _legs)// 作用域解析运算符(`::`) { legs = _legs; } int main() { Animal animal; animal.run(); // 直接成员运算符(`.`) Animal *pAnimal = new Animal(); pAnimal-run(); // 间接成员运算符(`-`) return 0; } public: const int Month_C = 12; // 报错:invalid use of non-static data member ‘Date::Month_C’ int mon_const[Month_C]; }; public: enum { Month_E = 12 }; int mon[Month_E]; }; public: static const int Month_C = 12; // 报错:invalid use of non-static data member ‘Date::Month_C’ int mon_const[Month_C]; }; public: enum { Month_E = 12 }; //const int Month_C = 12; // 报错:invalid use of non-static data member ‘Date::Month_C’ static const int Month_C = 12; // 属于整个类 int mon[Month_E]; int mon_const[Month_C]; }; int main() { Date date; cout
- 1、决定该类型的变量(对象)占用多少字节的内存:
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!



