类的数据成员:只有其他类的对象,才可以作为该类的成员,即作为该类的成员对象而存在
书上说:“只有其他类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。例如,假设已经定义了一个时间...
书上说:
“只有其他类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。
例如,假设已经定义了一个时间类Time,那么在日期类Date中定义数据成员时,
Time times; //正确
Date dates; //错误
Date *dates; //正确
在上面的例子中,类Date定义了一个数据成员times,它是类Time的对象,这时Time类必须已经定义完成,上述代码才是正确的。”
上面引号里面的都是书上的原话 我不理解啊 哪位朋友帮忙解释下。。。谢谢了哈~ 展开
“只有其他类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。
例如,假设已经定义了一个时间类Time,那么在日期类Date中定义数据成员时,
Time times; //正确
Date dates; //错误
Date *dates; //正确
在上面的例子中,类Date定义了一个数据成员times,它是类Time的对象,这时Time类必须已经定义完成,上述代码才是正确的。”
上面引号里面的都是书上的原话 我不理解啊 哪位朋友帮忙解释下。。。谢谢了哈~ 展开
展开全部
class time
{
public:
int hour;
};
class date
{
public:
time times; //对date类来说,time类是其他类,它的对象可以作为它的成员;。当然如果time没定义完那就当然不行。
//date dates; //date类的对象不能作为date 类的成员;试想如果可以的话的话,date里面有一个dates,里面的这个dates里面也有一个dates,它里面还有一个dates....这对象就是无穷大的了;
Date * dates //这是可以的,因为指针只占四个字节,代表一个地址而已。
};
“除一个类本身之外的类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。”
{
public:
int hour;
};
class date
{
public:
time times; //对date类来说,time类是其他类,它的对象可以作为它的成员;。当然如果time没定义完那就当然不行。
//date dates; //date类的对象不能作为date 类的成员;试想如果可以的话的话,date里面有一个dates,里面的这个dates里面也有一个dates,它里面还有一个dates....这对象就是无穷大的了;
Date * dates //这是可以的,因为指针只占四个字节,代表一个地址而已。
};
“除一个类本身之外的类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。”
展开全部
什么书,讲得如此模糊。
类的数据成员可以包含其他类的对象,也可以包含子对象,但是显然不能包含自身。
举个例子:
定义一个学生的类Student,里面可以包含班级信息(这是一个另外类),也可以包含自身的子对象(如班长之类的,是Student里面的对象)
类的数据成员可以包含其他类的对象,也可以包含子对象,但是显然不能包含自身。
举个例子:
定义一个学生的类Student,里面可以包含班级信息(这是一个另外类),也可以包含自身的子对象(如班长之类的,是Student里面的对象)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
甲类要想定义乙类的对象最为自己的成员函数,那么乙类必须在甲类前定义。这就像函数的调用要,要先定义。不然甲类初始化时就会出现问题。
定义指针是不需要分配内存空间的,而且很多时候我们需要这么做,不如链表结构中,就必须定义指针最为自己的成员。
在类中定义自己的对象作为成员函数,在构造函数中就会出现系统紊乱的情况,不知道如何赋初值。
希望对你有用。
定义指针是不需要分配内存空间的,而且很多时候我们需要这么做,不如链表结构中,就必须定义指针最为自己的成员。
在类中定义自己的对象作为成员函数,在构造函数中就会出现系统紊乱的情况,不知道如何赋初值。
希望对你有用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是:
A类声明出来的对象,才可以成为B类的成员对象变量。
X类,不能在X类你们声明本身成员对象变量,但是可以声明为指针。
class A
{
}
class B
{
B m_a; 错误;
A m_a; 正确
B *m_pa; 正确
}
A类声明出来的对象,才可以成为B类的成员对象变量。
X类,不能在X类你们声明本身成员对象变量,但是可以声明为指针。
class A
{
}
class B
{
B m_a; 错误;
A m_a; 正确
B *m_pa; 正确
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己类中只能添加自己类的指针,不是实例化。其他类可以添加指针并实例化。
也可以用单件模式(设计模式-创建型模式一种)实现自己类中添加自己类的指针并实例化。
也可以用单件模式(设计模式-创建型模式一种)实现自己类中添加自己类的指针并实例化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |