class point
{
//public:
void output()
{
cout << x <<endl << y <<endl;
}private:
    int x;
int y;};
public 注释掉就不可以访问,这是为什么?不是都在类的内部吗?

解决方案 »

  1.   

    public 注释掉,output方法就不能访问了。
      

  2.   

    在C++中:
    在class里面,默认是private
    在struct里面,默认是public
      

  3.   

    注释掉了public就使用默认的private了,output方法就不能访问了。
      

  4.   

    类的成员变量和函数默认是private
    结构的成员变量和函数默认是public
      

  5.   

    不加public的话,默认是private函数,只能在类的函数中应用这个函数,而不能用到别的地方。
      

  6.   

    // private.cpp : 定义控制台应用程序的入口点。
    //私有成员函数只能在类里面访问
    #include "stdafx.h"
    #include <iostream>
    using namespace std;class A
    {
    public:
    A(int a,int b){x=a;y=b;}
    //public:
    private:
    void output2()
    {
    cout << x <<endl<<y <<endl;
    }private:
    int x;
    int y;
    };
    int _tmain(int argc, _TCHAR* argv[])
    {
    A a(3,6);
    a.output2();
    system("pause");
    return 0;
    }
      

  7.   

    前面不加public,系统将其默认为私有成员,私有成员只能类内访问。
      

  8.   

    lz的意思是不是,private为什么就不能访问private数据成员?是可以访问的啊,错误定位有误吧,在类外访问Private函数会报错,提示:private函数无法访问 private 成员。其实是调用的问题...
      

  9.   

    楼主需要明白
    1.output可以访问x 类自身的函数可以访问私有成员
    2.外面的代码不可以使用output函数,外部代码不能使用类的私有函数