社区
C++ 语言
帖子详情
我想把类作为类自己的成员定义, 有什么办法?
gerry2000
2007-08-01 11:28:55
类似于这样, 当然这样编译不过
class A
{
public:
int i;
A a;
};
...全文
315
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
打赏
举报
回复
推荐用指针
在一些应用中也很常见的
比如说建立一个关于类的链表
[C++ Primer CH07] 第7章
类
(笔记)
小结:
类
是C++语言中最基本的特征。
类
允许我们为自己的应用
定义
新
类
型,从而使得程序更加简洁且易于修改。
类
有两项基本能力:一是数据抽象,即
定义
数据
成员
和函数
成员
的能力;而是封装,即保护
类
的
成员
不被随意访问的能力。通过将
类
的实现细节设为private,我们就能完成
类
的封装。
类
可以将其他
类
或者函数设为友元,这样它们就能访问
类
的非公有
成员
了。
类
可以
定义
一种特殊的
成员
函数:构造函数,其作用是控制
类
的
成员
模板的
类
内和
类
外
定义
方法
关于
类
的
成员
模板不了解的朋友们可以参考C++ primer ed3 16.7。
成员
模板包括模板函数和模板
类
,且
成员
模板可以在
类
模板和非
类
模板(普通
类
)中。这里将分别讲解
类
模板和非
类
模板中两种
成员
模板的
定义
方法:
类
内
定义
和
类
外
定义
。最简单的
定义
方法即在
类
定义
里面
定义
。方法如下:1)
类
模板中
成员
模板的
类
体内
定义
方法:templateclass QQQ{public: template//
成员
模板函数
定义
static T f() { T t = T(); return t; } template//
成员
模板
C++
类
的
成员
函数(在
类
外
定义
成员
函数、inline
成员
函数)
在
类
外
定义
成员
函数
成员
函数可以在
类
体中直接
定义
。也可以在
类
体中只写
成员
函数的声明,而在
类
的外面进行函数
定义
。如: class Student { public : void display( ); //公用
成员
函数原型声明 private : int num; string name; char sex; //以上3行是私有数据
成员
}; void Student::d
Java|如何用Java
定义
一个
类
类
的
定义
类
是一种引用数据
类
型。
类
为对象的模板,简单的说就是分
类
。
类
是一个模板,它描述一
类
对象的行为和状态。
类
的
定义
包括“
成员
变量”的
定义
和“方法”的
定义
,其中“
成员
变量”用于描述一
类
对象共同的数据结构。在Java语言中,
类
的
成员
变量的
定义
可以使用如下语法: class
类
名 {
成员
变量
类
型变量名称;………}
类
是用class关键字来
定义
的一种抽象数据
类
型,
类
不但
定义
了抽象数据
类
型的组成(
成员
变量),同时还
定义
了对该
类
型可以实施的操作(方法),
类
名的首字母必须大写。 注释:1.java 会给
成员
变量
C++
类
静态
成员
和其他
成员
函数一样,静态
成员
函数即可以在
类
的内部
定义
,也可以在
类
的外部
定义
。在
类
的外部
定义
时,不能重复static关键字,static关键字只出现在
类
的内部。因为静态数据
成员
不属于
类
的任何一个对象,所以并不是在创建
类
的对象时被
定义
的,也就是说它不是在构造函数中被初始化的。一般来说,不能在
类
的内部初始化静态
成员
,必须在
类
的外部
定义
和初始化每个静态数据
成员
。在
类
的外部
定义
静态数据
成员
的方法和在
类
外部
定义
成员
函数差不多,需要指定
成员
类
型名,然后时
类
名、作用域运算符以及
成员
数据自己的名字。
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章