代码如下:
#include <iostream.h>
class dataclass
{
private:
int DataMember;
public:
dataclass(int value);
int PublicDataMember;
int PublicMethod(void);
};
int dataclass::PublicMethod(void)
{
return DataMember;}dataclass::dataclass(int value)
{
DataMember=value;
}void main()
{
dataclass dataObject(1);
dataObject.DataMember=2;
cout<<"dataObject.DataMember ="<<dataObject.DataMember <<"\n";
cout<<"dataObject.PrivateDataMenber="<<dataObject.PublicMethod()<<"\n";}编译的时候,出错,错误提示如下
--------------------Configuration: Classes - Win32 Debug--------------------
Compiling...
Classes.cpp
D:\vc\Class\Classes.cpp(25) : error C2248: 'DataMember' : cannot access private member declared in class 'dataclass'
D:\vc\Class\Classes.cpp(5) : see declaration of 'DataMember'
D:\vc\Class\Classes.cpp(26) : error C2248: 'DataMember' : cannot access private member declared in class 'dataclass'
D:\vc\Class\Classes.cpp(5) : see declaration of 'DataMember'
执行 cl.exe 时出错.Classes.exe - 1 error(s), 0 warning(s)我看了,好像是说没有定义私有变量DataMember,导致在后面的Main里找不到这个变量,可是
private:
int DataMember;
在这里有定义了呀,我把Private改成Publice就没问题了,私有变量是这么定义的呀请大家帮忙,我错在哪里?新手,还望大家指点!谢谢谢谢
#include <iostream.h>
class dataclass
{
private:
int DataMember;
public:
dataclass(int value);
int PublicDataMember;
int PublicMethod(void);
};
int dataclass::PublicMethod(void)
{
return DataMember;}dataclass::dataclass(int value)
{
DataMember=value;
}void main()
{
dataclass dataObject(1);
dataObject.DataMember=2;
cout<<"dataObject.DataMember ="<<dataObject.DataMember <<"\n";
cout<<"dataObject.PrivateDataMenber="<<dataObject.PublicMethod()<<"\n";}编译的时候,出错,错误提示如下
--------------------Configuration: Classes - Win32 Debug--------------------
Compiling...
Classes.cpp
D:\vc\Class\Classes.cpp(25) : error C2248: 'DataMember' : cannot access private member declared in class 'dataclass'
D:\vc\Class\Classes.cpp(5) : see declaration of 'DataMember'
D:\vc\Class\Classes.cpp(26) : error C2248: 'DataMember' : cannot access private member declared in class 'dataclass'
D:\vc\Class\Classes.cpp(5) : see declaration of 'DataMember'
执行 cl.exe 时出错.Classes.exe - 1 error(s), 0 warning(s)我看了,好像是说没有定义私有变量DataMember,导致在后面的Main里找不到这个变量,可是
private:
int DataMember;
在这里有定义了呀,我把Private改成Publice就没问题了,私有变量是这么定义的呀请大家帮忙,我错在哪里?新手,还望大家指点!谢谢谢谢
解决方案 »
- CStdioFile ReadString 乱码
- 哪位有VC6能用的DirectShow版本?发给我一下。
- 对话框的PostNcDestroy何时响应
- 插入记录的问题
- 如何将视图在对话框上显示?
- 请问:获取远程主机的MAC有什么作用?远程主机的MAC让你知道又怎样?
- C++老师的作业,编一个记事本,不能用Edit控件,大家帮忙看看!
- 这是啥错误?
- 一行文本由制表符(/t)分割,把被分割的字符串放到一个CStringArray(字符串数组)里,给个简单的方法
- 急!请问如何在程序启动时自动检测MODEM?能给出CODE最好。
- 基于对话框程序中DoModal()出来的对话框如何正常退出?
- 设置应用程序栈大小的格式?
估计楼主也是用的VC6.0要不然你写void main都通不过的,应该写成int main
这是vc6的bug,以前经常遇到,换2005吧还蛮好用的.