C++中,可以在不建立对象的情况下调用类成员吗?

静态成员似乎可以,那非静态成员呢?如类A定义然后intmain(){A::n++//n是类中的静态成员A::t++//t是类中普通成员能,能这样写吗}... 静态成员似乎可以,那非静态成员呢?

如类A 定义

然后 int main ()
{
A:: n++// n是类中的静态成员

A::t++ // t是类中普通成员能,能这样写吗

}
展开
 我来答
yuhezcb0755
推荐于2017-11-25 · TA获得超过643个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:117万
展开全部
静态的成员变量和函数存在全局段,整个程序只有一份,所以可以直接用类名来引用。
非静态的是没有空间的,只有实例化一个对象的时候才会有空间,所以不能用类名来引用,只能用对象来引用。

举个例子:
class A {
public:
int x;
static int y;

};

A a, b;
a.x = 10;
b.x = 20;
如果你用类来引用x, A::x那编译器怎么知道你要用哪个x啊,对象a也有,b也有,还可能更多。一个对象一份。当然要用对象来引用啦,a.x, b.x这样才对,明白了吗?
静态的不同,不管你有多少个对象, y只有一份,存在静态区,a.y, b.y都是同一个变量。
秋天来了仔陈
2013-06-28 · TA获得超过2145个赞
知道小有建树答主
回答量:843
采纳率:0%
帮助的人:759万
展开全部
非静态成员不能,非静态成员是随着对象存在而产生的,没有对象也就不会存在非静态成员,静态的可以,类名::成员名方式访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-28
展开全部
静态的可以,非静态的不可以。
追问
你确定?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式