如何访问私有成员(c++改错)
#include<iostream>usingnamespacestd;classC{public:voidm(){/*……*/};private:intx;};intm...
#include <iostream>
using namespace std;
class C
{
public:
void m(){/*……*/};
private:
int x;
};
int main()
{
C c1;
c1.m();
c1.x=3;
return 0;
} 展开
using namespace std;
class C
{
public:
void m(){/*……*/};
private:
int x;
};
int main()
{
C c1;
c1.m();
c1.x=3;
return 0;
} 展开
8个回答
展开全部
私有成员变量在别的类中是无法访问的,要不还叫什么私有。
不过子类可以通过设置器和访问器来访问父类的私有成员变量。
public class A
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void show()
{
System.out.println(this.getName()+","+this.getAge());
}
}
public class B extends A
{
public static void main(String[] args)
{
B b=new B();
b.setName("李三");
b.setAge(19);
b.show();
}
}
不过子类可以通过设置器和访问器来访问父类的私有成员变量。
public class A
{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void show()
{
System.out.println(this.getName()+","+this.getAge());
}
}
public class B extends A
{
public static void main(String[] args)
{
B b=new B();
b.setName("李三");
b.setAge(19);
b.show();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼那个,删掉后怎么访问私有成员啊,都没有私有成员了
在类外是不可以显示调用私有成员的,你可以写一个public函数来对它赋值或进行其他的操作
在类外是不可以显示调用私有成员的,你可以写一个public函数来对它赋值或进行其他的操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在类中加入公有的GET函数和SET函数就可以访问私有成员,直接访问是不行的,不然就不叫私有成员了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class c中
public int GetX()
{
return x;
}
public int SetX(int num)
{
return x = num;
}
或者
public void SetX(int n)
{
x = n;
}
main中
int a = c1.GetX();
c1.SetX(3);
public int GetX()
{
return x;
}
public int SetX(int num)
{
return x = num;
}
或者
public void SetX(int n)
{
x = n;
}
main中
int a = c1.GetX();
c1.SetX(3);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这样写:
#include <iostream>
using namespace std;
class C
{
public:
void m(){/*……*/};
void setX(int a){ x=a; } // 添加set函数
private:
int x;
};
int main()
{
C c1;
c1.m();
c1.setX(3); // 这样写
return 0;
}
#include <iostream>
using namespace std;
class C
{
public:
void m(){/*……*/};
void setX(int a){ x=a; } // 添加set函数
private:
int x;
};
int main()
{
C c1;
c1.m();
c1.setX(3); // 这样写
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询