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++类和对象

开篇醒脑
《桃花庵》
桃花坞里桃花庵,桃花庵下桃花仙。
桃花仙人种桃树,又摘桃花卖酒钱。

一、类和对象的基本概念

  • 什么是类,一系列事物的抽象,万物皆可为类(一系列具有相同属性和行为的事物,可以被抽象为同一类,比如我们有时候将人分为懒人和勤快的人,这就是两类人,懒人的属性就是那类人的特点,行为就是他们通常都会做的事情)

    1. 类是由两部分组成的:属性,行为
    2. 属性:事物的特征 --> 数据类型描述
    3. 行为:事物的操作 --> 函数描述
  • 什么是对象:类的具体化,实例化

  • 类的特点:封装,继承/派生,多态(这些后面的博客内会有描述)

二、类的定义

  • 创建的语法
class 类名
{
	//三个权限限定词
	public:
	protected:
	private:
};		//后面记得有一个“;”
  • 权限限定的作用

    1. 类外只能访问public属性下面的东西,习惯吧public属性叫做类外的接口(因为除了它下面的东西以外剩余的属性和函数在类外都是不可被访问的)

      - 类外访问类中的数据,只能通过对象访问,static成员除外,
      - 它可以直接使用类名访问,无需创建新的对象
      
    2. protected和private类外都不可以被访问,但是可以在public中提供共有接口进行间接访问

    3. 默认属性(没有写权限限定词下的属性和行为)为私有属性,类外不可以进行访问

    4. protected和private在继承中会有所去别,但是在单独的一个类中是没有区别的
      5.权限限定词只是用来限定类外的访问,并不限制类中的访问

  • c++结构体在一定程序可以当作类(因为在结构体中也是可以有权限限定词的,不过它里面的默认属性为共有属性)

三、对象创建

  • 普通对象
    类名 对象名;
  • 对象数组
    类名 对象数组名[数组个数]
  • new一个对象
    类名 * 对象指针名 = new(分配内存起始位置,可以不写,默认为自由存储区) 类名;
class Tihu
{
	public:
	protected:
	private:
};
//普通对象
Tihu A1;
//对象数组
Tihu A2[10];
//对象指针
Tihu* A3 = new Tihu;

四、成员访问(初始化)

  • 通过提供 公有接口传参的方式初始化数据
  • 通过提供 共有接口返回值的方式初始化数据
  • 默认初始化
class Tihu
{
	public:
	//公有接口 间接访问
	void initData(string name = "默认值",int age = 18)
	{
		n_name = name;
		n_age = age;
	}
	//公有接口 返回引用的方式
	string& initName()
	{
		return n_name;
	}
	int& initAge()
	{
		return n_age;
	}
	protected:
	//默认初始化的方式
	string n_name = "无";
	int n_age = 0;
	private:
}
Tihu* A1 = new Tihu;
A1->initData("Baby",3);
Tihu* A2 = new Tihu;
A2->initName() = "baby";
A2->initAge() = 4;
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:27:06  更:2021-11-19 17:28:09 
 
开发: 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:14:31-

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