从“追求尽量不出错”,到正视“出错是必然”的转|

如此而已~~~

园龄:3年3个月粉丝:0关注:12

C++类的封装

C++封装

封装的意义:

封装是以类的方式实现的,在C++中创建一个类需要使用关键词class

语法:

class Person//class 类名
{
public:
//类中的行为 也称为 成员函数 成员方法
void SetName(string name)//设置姓名
{
m_Name=name;
}
void SetAge(int age)//设置年龄
{
m_Age=age;
}
//类中的属性 也称为 成员属性 成员变量
string m_Name; //姓名
int Age; //年龄
};

如同上方创建一类事物的共同属性,并将其封装在一个类中。


类中的权限:

//public: 访问权限中的 公共权限 类内可以访问 类外可以访问
//protected: 访问权限中的 保护权限 类内可以访问 类外不可以访问 儿子也能够访问父亲中的保护内容
//private 访问权限中的 私有权限 类内可以访问 类外不可以访问 儿子不可以访问父亲的私有权限内容

在C++中struct与class的区别:

在没有写明权限的情况下:

//struct默认权限为公共
struct C1
{
int m_A; //默认权限 是公共
};
//class默认权限为私有
class C2
{
int m_A; //默认权限 是私有
};

在一般情况下为防止修改成员属性,我们会将其设置为私有权限,但是可以通过公共的成员函数来进行间接的一些操作


类的多文件写法(此处以一个点类为例):

在.h文件中:

写明类与其对应的成员属性和成员函数的声明:

#pragma once
#include <iostream>
using namespace std;
//点类
class Point
{
//属性
private:
int m_X;
int m_Y;
//操作
public:
//设置x
void set_X(int x);
//获取x
int get_X();
//设置y
void set_Y(int y);
//获取y
int get_Y();
};

在.cpp文件中要写好成员函数的定义与属于哪一个类的作用域下的行为:

#include "Point.h"
//点类
//在此处 这些函数是全局函数 所以需要告诉这些函数是在
//Point作用域下的函数
//设置x
void Point::set_X(int x)
{
m_X = x;
}
//获取x
int Point::get_X()
{
return m_X;
}
//设置y
void Point::set_Y(int y)
{
m_Y = y;
}
//获取y
int Point::get_Y()
{
return m_Y;
}

本文作者:编程初学者求大佬指点

本文链接:https://www.cnblogs.com/fragmentary/p/16396483.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   如此而已~~~  阅读(580)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起