标题:程序编译出现错误,求解!
只看楼主
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:31.58%
 问题点数:0 回复次数:7 
程序编译出现错误,求解!
#include <iostream.h>
class test
{
    char get()
    {
        return a;
    }
    set(char c)
    {
        a=c;
    }
    private:
       char a;
   
};
void main()
{
    test my_test;
    my_test.set('X');
}
编译出现错误:error C2248: 'set' : cannot access private member declared in class 'test'
求解!
搜索更多相关主题的帖子: access void declared private include 
2012-06-12 21:57
mathspanda
Rank: 2
等 级:论坛游民
帖 子:15
专家分:15
注 册:2012-5-12
得分:0 
你应该要在get函数之前加个public声明
不声明的话编译器自动默认它为private型的
也就不能调用get和set了
2012-06-13 08:59
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
得分:0 
类的默认权限是 私有  结构体的默认权限是 公有

If You Want Something, Go Get It, Period.
2012-06-13 12:20
cwj976277916
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:49
专家分:77
注 册:2012-6-4
得分:0 
字符a是test类的私有成员变量,类的成员函数set不能对其进行赋值。set成员函数的作用域只限于它本身里面。懂了没有?

静下心来,理清思路!
2012-06-14 00:17
yang400b
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2012-6-13
得分:0 
#include <iostream>
using namespace std;
class test
{ public:
    char get()
    {
        return a;
    }
    void set(char c)
    {
        a=c;
    }
  private:
       char a;  
   
};
void main()
{
    test my_test;
    my_test.set('X');
}
2012-06-14 13:41
luojunyjh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-13
得分:0 
回复 4楼 cwj976277916
你果然是新手,不懂的话就不要误导别人
2012-06-16 10:12
yang400b
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2012-6-13
得分:0 
什么啊。我编译对了才发的。  你不也是新手吗。
2012-06-16 10:58
yueye0919
Rank: 1
等 级:新手上路
帖 子:5
专家分:8
注 册:2012-6-14
得分:0 
我是新手
2012-06-20 14:25



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




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

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