类
为什么需要类?
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。 类是 C++ 的核心特性,通常被称为用户定义的类型。
类是如何定义的
答案是 class关键字
,具体例子如下:
class Box // 类名首字母大写
{
xxxx
};
访问修饰符
修饰符一般有三种 public
、private
、protected
,具体例子如下
class Base
{
public:
string name; // 公有成员
protected:
int age; // 受保护成员
private:
double length; // 私有成员
};
接下来我们一种一种的介绍他们的访问权限
1. public(公有成员)
公有 成员在程序中类的外部是可访问的。例子
#include <iostream>
using namespace std;
class Line
{
public:
string name = "张三";
int age = 18;
};
int main()
{
Line line;
cout << "名字:" << line.name << endl;
cout << "年龄:" << line.age << endl;
return 0;
}
执行结果如下:
名字:张三
年龄:18
2. private(私有成员)
私有成员变量或函数在类的外部是不可访问的;如果你强行访问也行,编译会告诉你究竟行不行,接下来让我用例子来印证这个观点吧
#include <iostream>
using namespace std;
class Line
{
public:
string name = "张三";
int age = 18;
private:
double weight; // 私有成员
};
int main()
{
Line line;
cout << "名字:" << line.name << endl;
cout << "年龄:" << line.age << endl;
cout << "体重:" << line.weight << endl; // 类外部访问私有成员
return 0;
}
理论是编辑器不应该让我用对象去访问到私有成员,但是vscode却神奇般的能对象.出私有成员
插播知识点,上述提到的对象是啥?
例如上面的类是Line;
实例化则是:Line line
实例化之后则会得到一个对象:line
这会应该能看懂上面那句对象.私有成员
的话了吧?
不过问题也不大,编译是不能通过的
问题来了,私有成员存在的意义是干嘛的?
它像人一样都会有一些东西不想让别人知道;但是类的私有成员通常会搭配一个get
和 一个set
方法给对象调用
实现
get
和 set
现在对象则可以使用这两个方法来操作私有成员了
执行结果如下:
3. protected(私有成员)
这个玩意涉及到继承,后续文章再介绍它。