6、已知有下面的三个类(使用C++语言描述): class A

{ int a;

public:

void fun()

{ cout<<”class A fun() is called”<<endl;}

……

};

class B

{ int a;

public:

A *a;

……

};

class C

{ int a;

public:

B *b;

……

};

在主程序中,定义一个类C的对象指针C *obj。则下面的引用正确的是(

A. obj->b->a->fun(); B. obj.b->a.fun();

C. obj->b.a->fun(); D. obj.b.a->fun();
6、已知有下面的三个类(使用C++语言描述):
class A
{ int a;
public:
void fun()
{ cout<<”class A fun() is called”<<endl;}
……
};
class B
{ int a;
public:
A *a;
……
};
class C
{ int a;
public:
B *b;
……
};
在主程序中,定义一个类C的对象指针C *obj。则下面的引用正确的是(
A. obj->b->a->fun(); B. obj.b->a.fun();
C. obj->b.a->fun(); D. obj.b.a->fun();

obj是个指针,所以有obj.的都不对,应该找obj->的,排除B D。
obj->b是个指针,因为obj是C*类型,C类里面的b成员是B*指针。
所以obj->b.的都不对,应该找obj->b->的,排除C。
所以选A。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-06
A 因为指针是不可以直接使用“.”号的,除非(*obj).b这样的追问

能讲的详细点吗?

追答

我们定义一个指针变量如T*temp;
使用的时候如果是代表其所指向的对象身份时,应该使用*temp形式,这时从值的角度讲就是那个所被指的对象;
使用的时候如果是代表指针自身的身份时,应该使用temp形式,这时从值的角度讲就是被指对象的地址;
从调用角度来说:
t->u相当于(*t).u
多说一句指针是值与型的结合,虽然我们一般提到指针时,往往只是在说它的值,即所存储的地址,但是在实际处理代码时,往往需要顾及其型,比如最典型的是指针不同型时是否可以转换和相互赋值,以及涉及虚概念时,这是更深的内容了,就不细说了,需要更多的学习。

追问

选A还是C?

追答

晕 一开始不就说了么 A啊

6、已知有下面的三个类(使用C++语言描述): class A
obj->b是个指针,因为obj是C*类型,C类里面的b成员是B*指针。所以obj->b.的都不对,应该找obj->b->的,排除C。所以选A。

c++中 : class A {省略}; A show(A one) \/\/这是什么意思???
class A { 省略 }; 是造一个class 名叫A A show(A one) 是一个函数,函数值型是A, 参数叫做one, one的形是A

c++类中常有这样的函数ClassA() = 0 等于0起什么作用?谢谢
等于0,表示为纯虚函数。拥有纯虚函数的类是抽象类,抽象类一般作为基类,不能用来定义对象。这种做法是为了派生子类,实现多态性的需要。如果在子类中没有对基类中的所有纯虚函数定义,该类仍为抽象类,从而无法用来定义对象。

你好: 请问一个c++的指针问题" class a *b; class a *c; class a *d...
这三个指针可以指向a类的具体对象。比如 class a A;class *b;b = &A;

下列单词哪个是C++语言的关键字( )。 A. class B.public C.main D...
class是关键字

C++类简介
C语言是一种面向过程的编程语言,而C++则在此基础上引入了面向对象编程(OOP)的概念,其中类(class)是实现这一特性的关键。类在C++中具有以下作用:C++的类通过访问说明符(access specifiers)来定义成员的访问权限,通常情况下,外部只能访问public成员,而不能访问private成员,这样可以确保数据的安全,...

c++: classA::instance()->func()这种用法是什么意思?谢谢! 其中,class...
instance()的定义应该是 A * instance()也是class A的方法,但是返回值是 一个class A对象的指针 可以分步看 A *p;p=class A::instance();p->func();

C++中关于类的问题: class A { B b; }; class B { A a; }; 怎么编译...
A中用B类,但之前没有进行声明! class B ;class A { B b; }; class B { A a; }; 先声明一些B应该就能过了!

C++中多态的作用?
先看下面两个类:class base{public: void bfun(){} virtual void vfun1(){} virtual int vfun2(){}private: int a;}class derived : public base{public: void dfun(){} virtual void vfun1(){} virtual int vfun3(){}private: int b;}两个类VPTR指向的虚函数表(VTABLE)分别如下:base类 ———...

c++中一个程序含有多个类该如何实现
你可以自己定义多个class,不论是在单个文件中还是在多个文件中(使用include包含和using引用)都可以,只要能通过名称识别就行,包括多个类是否有继承或友元等关系完全由你自己的需要来决定 只是要注意修饰符(如private、public等)限定的权限,不要越权限访问类或对象中的成员 为了便于管理,多个类一般使用...

相似回答