社区
C++ 语言
帖子详情
我想把类作为类自己的成员定义, 有什么办法?
gerry2000
2007-08-01 11:28:55
类似于这样, 当然这样编译不过
class A
{
public:
int i;
A a;
};
...全文
277
18
打赏
收藏
我想把类作为类自己的成员定义, 有什么办法?
类似于这样, 当然这样编译不过 class A { public: int i; A a; };
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kobemadi
2012-03-06
打赏
举报
回复
正在做这个东西,谢谢各位了
taodm
2007-08-01
打赏
举报
回复
是哪个家伙让他用引用的?自己来善后。
gerry2000
2007-08-01
打赏
举报
回复
指针没问题, 但引用竟然会报链接错误, 我是这么写的
class A
{
public:
A();
~A();
public:
int i;
A &a;
};
int main()
{
A test;
test.i = 10;
A test1 = test;
cout << test.i << endl << test1.i << endl;
getchar();
return 0;
}
test error LNK2019: 无法解析的外部符号 "public: __thiscall A::~A(void)" (??1A@@QAE@XZ) ,该符号在函数 _main 中被引用
test error LNK2019: 无法解析的外部符号 "public: __thiscall A::A(void)" (??0A@@QAE@XZ) ,该符号在函数 _main 中被引用
test fatal error LNK1120: 2 个无法解析的外部命令
飞哥
2007-08-01
打赏
举报
回复
我也没发言呢
jixingzhong
2007-08-01
打赏
举报
回复
呵呵
jixingzhong
2007-08-01
打赏
举报
回复
A* a;
然后在构造/或其他成员中处理 ...
taodm
2007-08-01
打赏
举报
回复
拜托,我还没发言呢,Kenmark兄弟,醒醒啊。
NWCforever
2007-08-01
打赏
举报
回复
class A {
A& refA;
A* pA;
}
这两种方式都行。看具体情况了
我啃
2007-08-01
打赏
举报
回复
class A
{
public:
int i;
A a;
};
这样变成了嵌套定义,如果实例化就有问题了
A b;
b.a.a.a.a.a.a.a.a.a.a.…………可以无限下去,编译器不能知道到底药分配多少内存
要使用引用类型
可以是指针
如taodm的例子,这样包含的只是一个指针,不赋值是不指向任何东西的
珍惜生命远离CPP
2007-08-01
打赏
举报
回复
class A
{
public:
int i;
A* a;//用指针
};
我啃
2007-08-01
打赏
举报
回复
通常我都是中午吃早饭,下午吃晚饭的,所以~
类里面定义的引用和常量等都是在初始化列表里面初始化的,所以说就是在类实例化的才将数据绑定到类的~
gerry2000
2007-08-01
打赏
举报
回复
谢谢各位啦
marrco2005(高手前传) 果真可以 :-)。
lockhall
2007-08-01
打赏
举报
回复
我看Kenmark象是提前持了晚飯
撐的眼花了。
哈哈
nevergone
2007-08-01
打赏
举报
回复
Kenmark 厉害.
早饭到现在还没有吃~~~~
我啃
2007-08-01
打赏
举报
回复
饿,看错人了嘛,早饭没有吃,眼睛花了~
marrco2005
2007-08-01
打赏
举报
回复
类中有引用也是可以的。
class A
{
public:
A( )
: a(*this)
{
}
A( A* p)
: a( *p )
{
}
~A()
{
}
void Display()
{
printf("\n the value of _k is %d \n", _k);
}
int _k;
A& a;
};
lockhall
2007-08-01
打赏
举报
回复
屬于不完全聲明。
用指針吧。。。。
尹立
2007-08-01
打赏
举报
回复
推荐用指针
在一些应用中也很常见的
比如说建立一个关于类的链表
Java
类
——
类
的组成
成员
、
定义
、创建和使用
类
可以包含三种最常见的
成员
:构造器、属性和方法,三种
成员
都可以
定义
0个或多个
类
中各
成员
间可以相互调用,但static修饰的
成员
不能访问没有static修饰的
成员
属性用于
定义
类
或
类
的实例中所包含的数据,方法则用于...
定义
一个Person
类
,其中包括:1.
定义
属性:姓名、年龄、民族作为
成员
变量。
定义
静态
成员
变量:人数2.
定义
构造方法:对
成员
变量进行初始化。3.
定义
多个方法:分别显示相应的属性值,例如getName(...
民族作为
成员
变量。
定义
静态
成员
变量:人数2.
定义
构造方法:对
成员
变量进行初始化。3.
定义
多个方法:分别显示相应的属性值,例如getName(){System.out.print("名称="+name+";"); }4.
定义
一个方法“成长”:实现年龄...
什么时候
定义
静态
成员
呢?
或者说:
定义
成员
时,到底需不需要被静态修饰呢?
成员
分两种: 1,
成员
变量。(数据共享时静态化) 该
成员
变量的数据是否是所有对象都一样: 如果是,那么该变量需要被静态修饰,因为是共享的数据。 如果...
python中的数据
成员
有两
类
_彻底搞懂Python数据
成员
和
成员
方法
属于对象的数据
成员
一般在构造方法__init__()中
定义
,当然也可以在其他
成员
方法中
定义
,在
定义
和在实例方法中访问数据
成员
时以self作为前缀,同一个
类
的不同对象(实例)的数据
成员
之间互不影响;属于
类
的数据
成员
是该...
java中
成员
方法_java编程中的
成员
方法是什么?
一个
类
或对象可以有多个
成员
方法,对象通过执行它的
成员
方法对传来的消息作出响应,完成特定的功能。
成员
方法一旦
定义
,便可在不同的程序段中多次调用,故可增强程序结构的清晰度,提高编程效率。1
成员
方法的分
类
...
C++ 语言
64,647
社区成员
250,496
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章