C++中 private和public的区别?

如题所述

第1个回答  2022-09-27

C++中 private和public的区别?

private和public的作用是让编译器帮你检查某些模组是否使用了他没许可权使用的模组,也就是生成可执行程式码的时候做许可权检查。比如,公司里各个部门有自己私有的资讯,财务部可以看所有员工工资,而销售部不可以,普通员工也不可以。
可不可以访问都是认为规定的,而且在写程式码的时候程式是不会执行的,因此需要在生成程式码的时候做一些检查,就像语法错误在编译的时候被检查出来一样,因为人规定了程式码该如何写。访问控制也是在编译的时候检查,c++采用了private,public,protected,以及friend来限制访问许可权。
private的意思是指类的内部变数或者函式是私有的,在类之外包括继承类就不可见,像魔术师的道具;public是指类的内部变数是外部可见的,像魔术师的表演;protected是指除了本类和继承类之外不可见,像魔术师希望徒弟使用道具,就得让其徒弟看见道具,但是是一种受保护的许可权;friend是指特定指出哪些类或者模组可以看见本类的私有(private以及protected)成员,这就是魔术师信得过的朋友可以让他看见一些幕后。
使用好这个规则,只要程式中出现了越权访问的程式码,编译的时候就会被检查出来,以保证安全。
举例:
class moshushi魔术师类
{
friend class daoyan;导演可以知道魔术师背后的秘密
public:所有人都可以看见的行为以及物品
int jinchang();进场
int biaoyan();表演
int tuichang();退场
int shou, yifu, maozi;手,衣服,帽子
protected:徒弟可以知道的
int zhaotuo();找个托
int gangsi;钢丝
private:只有自己和friend可以知道
int zuobi();作弊
int yaoshui, tezhizhuozi;药水,特制桌子
};
class tudi: public moshushi魔术师徒弟
{
自动有了魔术师的public以及protected
};
class daoyan导演
{
int func(){
可以访问到魔术师物件的私有域
}
...
};
class guanzhong观众
{
不能访问魔术师物件的私有域
...
};

求C++类型别Class中public和private的区别

public 表示资料成员,成员函式可以被其它类或子类访问
private表示只有当前类内部可以访问

C++中public、private和protected访问属性的区别

在本类中,protected与private是相同的,但protected可以被继承,而private却不行。 只有公有成员才能在类的外部访问。如class A{private:int a;public:int b;protected:int c;};A ca;ca.a error ca.b ok ca.c error cb.c error。虽然c也是B的成员,但c在被继承的时候变成私有或者受保护的成员了。

c++类中public,private,protected的用法与区别。

protected型别的访问机制与private一样
在基类的派生类中,可以直接访问继承而来的protected成员,但是不能访问private限制的成员.所以在派生类中,可以访问基类继承而来的public和proected两种型别的成员.
在public公有派生下,继承而来的成员访问许可权不变.protected派生下,public和protected都变成protected,private派生下,所有的继承下来都是private了

C++中型别定义中的public与 private的区别

public,可以夸函式呼叫;而private,只能局限于同函式内的其他成员呼叫与使用。

java中private和public的区别

作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
private √ × × ×

在JAVA中,public和private的区别?

公共和私有,公共的(变数、方法)在这个类外还能呼叫,私有的只能在类(class)内部使用。

private 和public 的区别

private 只能是自己的类访问 。

1、public:public表明该资料成员、成员函式是对所有使用者开放的,所有使用者都可以直接进行呼叫
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

public和private的区别

private,标识只有在当前物件可以用,public表示外面也可以用
例如:
public class User(){
private userId;
public username;
}
User u = new User();
这时你只能访问u.username.private的userId是不能被访问的