private和public

一、结构体/类的定义和实现分离,代码可读性更强(非必须)

//xxx.h头文件
struct Test
{
	int x;
	int y;
	int z;
	
	void Init(int x,int y,int z);
	void Function1();
	void Function2();
	void Function3();
}
//xxx.cpp
#include<stdio.h>
#include"structure.h"
void Test::Init(int x, int y, int z)
{
	this->x = x;
	this->y = y;
	this->z = z;
}
void Test::Function1()
{
	printf("Function1:%x\n", x);
}
void Test::Function2()
{
	printf("Function1:%x\n", y);
}
void Test::Function3()
{
	printf("Function3:%x\n", z);
}

特别说明:
xxx.h只是一个文件,可以是任何的后缀名;
#include " "/<>的作用只是把里面的内容复制过来;

二、public private的使用
public:这里的成员哪里都可以使用,被公有继承的时候仍然能被子类对象调用,但被私有继承的时候只能在原类定义中使用;一旦发布成为public的成员是不能改名字的;
private的意思是,这个成员只用于内部使用,不要在其他的地方使用.
在这里插入图片描述
总结:
1、对外提供的函数或变量,发布成为public的,不能随意改动;
2、可能会改动的函数或变量,定义成private的,这样编译器会在使用的时候检测;
3、只有结构体内部的函数才可以访问private的成员;
4、public/private可以修饰函数,也可以修饰变量;

三、private声明的成员也并非不可访问

  • 通过指针的加减可以实现private成员的访问
    因为private仅仅是权限控制,在内存上的存储和public修饰的时候是一样的,只是编译器赋予权限不同;
    在这里插入图片描述

  • 一般来说:

    • private修饰的成员与普通的成员没有区别,只是编译器会检测;
    • private修饰的成员只要自己的其他成员才能访问;

四:class&struct
权限区别:编译器默认class中的成员为private 而struct中的成员为public;
继承区别:class默认是私有继承,struct默认公有继承;class继承时若不想改变基类成员属性,选择public继承;

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值