标题:为什么C++要有private,有什么用呢?
只看楼主
snowman666
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2022-9-3
结帖率:66.67%
已结贴  问题点数:20 回复次数:8 
为什么C++要有private,有什么用呢?
初学C++,不太理解类里面的private。
网上搜到的都是说设置访问权限,让外部不可见,这是什么意思?
书上说private实现了类的数据隐藏,满足了面对对象的封装性,那我为什么要数据隐藏?


本人刚学C++,没参加过项目,看好多网上评论说参加项目就知道为什么了。我:。。。。。。
搜索更多相关主题的帖子: private 参加 C++ 隐藏 数据 
2023-03-13 16:45
snowman666
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2022-9-3
得分:0 
目前本人对private的理解仅到在private之下的数据不能被类外函数访问一点,如果访问好像还需要用::来访问。这一点我也不确定
2023-03-13 16:49
snowman666
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2022-9-3
得分:0 
程序代码:
#include<iostream>
#include<string>
using namespace std;
class Student                         //类的声明
{private:                             //私有访问权限
    string m_strID;
    string m_strName;
    string m_strClass;
public:
    void Input();
    void Display() {
        cout << "学号" << m_strID << "姓名:" << m_strName << "班级:" << m_strClass;
    }
};
void Student::Input() {
    cout << ("\n======添加学生信息=======\n");
    cout << ("学号:");
    cin >> m_strID;
    cout << ("姓名:");
    cin >> m_strName;
    cout << ("班级:");
    cin >> m_strClass;
}
int main() {
    Student s;
    s.Input();
    s.Display();
    return 0;
}

这是书上给的代码,不确定那个::是不是用来访问private里的数据的,麻烦大佬也解答一下
2023-03-13 16:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
现实中的对象,大多也都有private成分。
比如 电视机,只会暴露 屏幕、几个按钮 给你,不会把内部的电容等暴露给用户。

不确定那个::是不是用来访问private里的数据的
先得把基础知识系统学一遍,否则问题就太多了
https://zh.
2023-03-14 10:40
snowman666
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2022-9-3
得分:0 
回复 4楼 rjsp
好的,感谢
2023-03-15 19:23
pvm2000
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:24
帖 子:159
专家分:256
注 册:2022-12-22
得分:5 
每个人还不得有点私密东西啊
2023-03-16 01:06
角动量
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2020-11-6
得分:5 
private就是不给外部的类或对象使用(除了friend友元类之外)访问
2023-03-16 10:07
appsion
Rank: 2
等 级:论坛游民
威 望:3
帖 子:7
专家分:28
注 册:2014-5-3
得分:5 
你把一张照片发到朋友圈就是public, 但你相册里的照片从按下拍照那一下 默认就是private, 也就是你不公开别人就不会看到.  你是一个对象   你朋友圈的朋友也是对象.  你想让朋友看到的就是公开的,你不让朋友看的就是私有的.
2023-03-16 11:00
snowman666
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2022-9-3
得分:0 
回复 8楼 appsion
感谢
2023-03-21 13:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511527-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090226 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved