创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
c语言内容💖:
专栏:c语言之路重点知识整合
【c语言】全部知识点总结
目录
- 一、类和对象的概念
- 二、定义和使用类
- 三、类成员访问修饰符
一、类和对象的概念
在【C语言和C++的区别】中提到过:
C++ 是一门面向对象编程的语言,把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为,更注重的是程序的整体设计。
在C语言中,程序一般是由数据和算法组成,数据和算法彼此独立,关联性不强;
而在C++中将相互关联数据
和算法
封装起来,形成结构体
或类
,无论类
还是结构体
都是一个抽象的概念
只有定义类的变量时,数据才会真实存在,这个变量我们称之为对象
类(class): 完成某一功能的数据和算法的集合,是一个抽象的概念
对象:类的一个实例,具体的概念,是真正存在于内存中的。
举例:房产售楼处的沙盘就是将各种设施集合在一起,代表抽象的概念——类
其中的每个设施就是类的一个实例——对象
二、定义和使用类
定义类的关键字class
,类名
一般以大写的C
开头,成员属性
一般以m
开头
定义一个类的基本格式:
#include <iostream>
#include <string>
using namespace std;
class CTest //类名以大写的C开头
{
string m_strName; //成员属性以m开头
void SetName() //成员方法
{
m_strName = "TianXi Studio";
}
void show()
{
cout << m_steName << endl;
}
//...
};
int main()
{
//...
return 0;
}
定义了Test类后,如何使用这个类?
与结构体的用法相似,在主函数中,使用类定义一个变量,然后使用.
操作符进行使用类内成员
int main()
{
CTest peo;
peo.m_strName = "天喜";
peo.show();
//...
return 0;
}
但是编译器报错为:
这是因为类成员访问修饰符的问题,下面介绍类成员访问修饰符:
三、类成员访问修饰符
类成员访问修饰符: 描述了类成员的访问控制,即所能使用的一个范围
- 共有的public:没有访问限制,其他类可以访问公有成员变量和方法。
- 保护的protected:只能在当前类和继承该类的子类中访问,受保护成员变量和方法对于其他类不可见。
- 私有的private (默认):只能在当前类中访问,其他类无法直接访问。
如果不对类成员变量或函数进行访问修饰,默认就是私有的private
,只能在当前类中
访问,因此在主函数中不可以进行访问,所以会报错为类成员不可访问
只需要对类成员进行修饰:
#include <iostream>
#include <string>
using namespace std;
class CTest //类名以大写的C开头
{
public:
string m_strName; //成员属性以m开头
void SetName() //成员方法
{
m_strName = "TianXi Studio";
}
void show()
{
cout << m_strName << endl;
}
//...
};
int main()
{
CTest peo;
peo.m_strName = "天喜";
peo.show();
//...
return 0;
}
类成员修饰符会持续到下个修饰符为止,例如:
public:公有的m_steName
可以进行访问,而SetName()
并没有进行修饰,也可以进行访问,是因为前面的public
也修饰了他
protected:受保护的show()
就不能进行访问
类
对于类内的私有成员,也可以提供访问接口 (getxxx,setxxx) 来按照一定的规则进行访问
访问修饰符可以控制对类的成员的访问级别,提供了更好的封装性和安全性。
下篇介绍构造函数与析构函数(✿◠‿◠)
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |