注册 登录
编程论坛 C++教室

private怎么用?

lockhawk 发布于 2008-11-03 22:21, 1094 次点击
既然不能输入,要来干什么?好象也无法修改吧?
#include <iostream.h>
class yunsuan
{
public:
    int add(int a,int b);
    int cha(int a,int b);
    int ji(int a,int b);
    int shang(int a,int b);
private:
    int a,b;
};
yunsuan::add(int a,int b)
{
    return a+b;
}
yunsuan::cha(int a,int b)
{
    return a-b;
}
yunsuan::ji(int a,int b)
{
    return a*b;
}
yunsuan::shang(int a,int b)
{
    return a/b;
}




int main()
{
    yunsuan temp;
    int a,b;
    int c;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"select 1:+;2:-;3:*;4:/;";
    cin>>c;
    switch (c){
    case 1:
        {
            cout<<temp.add(a,b)<<endl;
            break;
        }
    case 2:
        {
            cout<<temp.cha(a,b)<<endl;
            break;
        }
    case 3:
        {
            cout<<temp.ji(a,b)<<endl;
            break;
        }
    case 4:
        {
            if(b==0)cout<<"erreo"<<endl;
        else
            cout<<temp.shang(a,b)<<endl;
        break;
        }
    default:
        cout<<"erreo"<<endl;
    }

return 0;
}
8 回复
#2
blueboy820062008-11-03 22:27
封装起来,自己享用,不让别人随便改~多安全啊...
#3
lockhawk2008-11-03 23:11
不是啊~主函数里的a和b和private里的a和b不一样吧?
我想改private里的a和b好象也改不了?
#4
csy198811222008-11-03 23:26
好像你的private没有起到作用啊。
#5
CZ_xinle2008-11-03 23:28
恩,主函数里的a和b和private里的a和b不一样。
如果要修改private中的a,b 只能通过在类中添加相应的类成员函数。否则,不能修改private中的a,b,这正是封装的目的。
#6
debroa7232008-11-04 02:20
类成员变量名和函数参数名最好有区别.不然真的不知道你想干什么.
#7
sunkaidong2008-11-04 09:52
私有属性要靠私有方法来修改...只有常量是没办法修改的...
#8
ronaldowsy2008-11-04 11:48
上面的朋友说的很对,如果你不想你的数被修改,你可以加一个CONST
#9
shmilytong2008-11-04 23:52
一般说来,我们会习惯将数据成员定义为private,将成员函数定义为public,对于私有数据的初始化,可以通过构造函数或者成员函数来设置
1