社区
C++ 语言
帖子详情
类中的引用成员好难控制呀!!!!!
minchenchao
2006-11-22 11:50:04
class A
{
B& b;
public:
A(B& b1):b(b1) {}
};
上面的类A没有默认构造函数。那么,
class C
{
map<int,A> m
public:
C() {//..}
};
类C应该会有问题。那么,对于这样的情况该如何解决呢??
...全文
179
9
打赏
收藏
类中的引用成员好难控制呀!!!!!
class A { B& b; public: A(B& b1):b(b1) {} }; 上面的类A没有默认构造函数。那么, class C { map m public: C() {//..} }; 类C应该会有问题。那么,对于这样的情况该如何解决呢??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
minchenchao
2006-11-23
打赏
举报
回复
谢谢!!
taodm
2006-11-23
打赏
举报
回复
引用成员基本等价于指针,好处是免掉了对指针进行非0判断,坏处时必须在构造对象时就绑定所引用的对象,而且以后不可重绑定。
有得就有失。楼主的应用决定了,你不能使用引用成员。
别浪费时间了,改回指针吧。
abblly
2006-11-22
打赏
举报
回复
上面的类A没有默认构造函数。那么,
-------------
提供一个默认构造函数就行了
public:
A():b(B()) {}
mab就要求second有默认值的
OOPhaisky
2006-11-22
打赏
举报
回复
引用成员本身就会存在很多问题的,要慎用!
OOPhaisky
2006-11-22
打赏
举报
回复
这种情况下,楼主就不要用引用成员了,改用指针成员,否则无解。
另外,引用成员还会引起其他问题,比如编译器不会为你合成default constructor(即使你没有定义A(B&)这个构造函数),也不会为你合成copy assignment operator。
minchenchao
2006-11-22
打赏
举报
回复
在项目中起初我是用指针做的,现在想换成引用,遇到了很多问题。
healer_kx
2006-11-22
打赏
举报
回复
改用指针!~
healer_kx
2006-11-22
打赏
举报
回复
引用多用于函数传递参数,这话不是我说的,是C++ Primer说的.
iambic
2006-11-22
打赏
举报
回复
尽量不要使用类成员引用,除非你极其严格地限制你的类行为。
C++在类的
成员
函数中,允许直接访问该类的
成员
对象的私有
成员
变量
在C++的类的
成员
函数中,允许直接访问该类的对象的私有
成员
变量。 b. 在类的
成员
函数中可以访问同类型实例的私有变量。 c. 拷贝构造函数里,可以直接访问另外一个同类对象(
引用
)的私有
成员
。 d. 类的
成员
...
!!!!!!!!!!!!!!!!C++:派生
类中
重定义基类的
成员
函数与虚函数区别在哪里?
C++:派生
类中
重定义基类的
成员
函数与虚函数区别在哪里? 2012-06-12 15:08风雅风度 | 浏览 1387 次 编程语言C语言函数 派生类定义的
成员
函数名可能和基类的
成员
函数名重复,如果原型完全相同,则派生...
Java 内部类、
成员
类、局部类、匿名类等
Java各种称呼类详解Java有各种各样类,内部类、嵌套类、
成员
类、局部类(本地类)、静态类、匿名类、文件类以及这些组合起来的称呼类,
成员
内部类,
成员
匿名类,
成员
嵌套类,本地匿名类等,真是多的不行,但有些其实...
类的静态
成员
的定义、调用及继承详解【C++每日一学】
C++静态
成员
详解:类共享变量与函数 本文深入解析C++中静态
成员
的关键特性与应用场景。静态
成员
属于类本身而非对象实例,主要包括静态数据
成员
和静态
成员
函数两种形式。 核心要点 静态数据
成员
:所有对象共享同一份...
mfc中
类中
的
成员
变量的调用问题
最近遇到了一个问题,在VS2010中建立单文档工程,然后里面添加了一个对话框并在对话框...然后在CView
类中
调用对话框
类中
的四个变量进行
控制
画图操作, 奇怪的是我在CView
类中
定义了对话框类的对象,但是在单击对话框上
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章