ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++类的封装

2022-06-21 13:03:19  阅读:111  来源: 互联网

标签:封装 Point int void C++ 访问 权限 class


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;
	}

标签:封装,Point,int,void,C++,访问,权限,class
来源: https://www.cnblogs.com/fragmentary/p/16396483.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有