社区
C++ 语言
帖子详情
谁能告诉我<<<<<如何在一个构造函数里调用另一个构造函数?>>>>>
clancy
2003-08-29 10:07:07
谁能告诉我如何在一个构造函数里调用另一个构造函数?
可行吗?如何做啊?
...全文
619
18
打赏
收藏
谁能告诉我<<<<<如何在一个构造函数里调用另一个构造函数?>>>>>
谁能告诉我如何在一个构造函数里调用另一个构造函数? 可行吗?如何做啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mafandale
2003-09-09
打赏
举报
回复
class A
{
public:
A(int i, int j)
{
_i = i;
A(20); // 没有问题
A(_j); // 不行
}
A(int j)
{
_j = j;
}
public:
int _i;
int _j;
};
VC编译没有问题,奇怪吧。。谁能解释?
jp311
2003-09-04
打赏
举报
回复
楼上的方法不错,就是麻烦了点。
为什么C#,JAVA都支持构造函数调用本类自己的构造函数,而C++不直接支持呢
sakurar
2003-09-04
打赏
举报
回复
不过楼主还是没表达清意思。
也不知到底是什么意图。
sakurar
2003-09-04
打赏
举报
回复
可以直接调构造函数的。
#include <iostream>
using namespace std;
class TT
{
int m;
public:
TT()
{
new (this) TT(10,this);
}
TT(const int i,TT* t)
{
t->m=i;
}
};
试试
昌意
2003-09-04
打赏
举报
回复
我想是不是楼主没有说清楚,
是不是一个类的构造调用另一个类的,
另外是包容还是继承。
要说直接调用的话。我认为没有必要。在对象的初使化时就直接调用构造就可以了。
techlibin
2003-09-04
打赏
举报
回复
to dddc(dddc_redsnow) :不会,是在第一个空间中构造第二个对象,不过这个实现就构造了两次对象, 效率不高。
如果楼主想通过调用类的自己的构造函数来实现一些逻辑,那么可以通过添加私有函数实现。
class TT
{
int m;
public:
TT()
{
Init();
}
TT(const int i,TT* t)
{
Init();
}
private:
Init()
{
.....;
}
};
MSN3000
2003-09-04
打赏
举报
回复
构造函数不能被直接调用,,,好象有点明白楼主的意图。。。
class TT
{
int m;
public:
TT(const int i = 10,TT* t = this)
{
t->m=i;
}
};
不知道偶想的对不对,,^_^
dddc
2003-09-04
打赏
举报
回复
VC6 通过楼上的楼上的方法,可是这样是不是分配两个对象空间(其中第二个是临时的,付给第一个);?
Demonx
2003-09-03
打赏
举报
回复
这个……说实话,我也不是很明白。
lang2000
2003-08-31
打赏
举报
回复
构造函数是不可以直接调用的
Wolf0403
2003-08-31
打赏
举报
回复
呵呵,正在看 java ,差点烦错。java 中用类似
TT()
{
TT(10,this);
}
TT(const int i,TT* t)
{
t->m=i;
}
的东西代替默认参数
oopig
2003-08-29
打赏
举报
回复
你有什么特别的需要这么做吗?
sevecol
2003-08-29
打赏
举报
回复
class TT
{
int m;
public:
TT()
{
TT(10,this);
}
TT(const int i,TT* t)
{
t->m=i;
}
};
fastzch
2003-08-29
打赏
举报
回复
同意 kotton8848(jyq)的说法。
sevencat
2003-08-29
打赏
举报
回复
你查查constructor()这个函数吧.
看看std::new原代码试试吧
我看到std::new的原代码里面用的是这个东西,就是说给定分配好的内存块调用构造函数.
kotton8848
2003-08-29
打赏
举报
回复
通过两个类的继承可以实现这个功能
5956
2003-08-29
打赏
举报
回复
同意liu_feng_fly
java中可以,c++中不行
liu_feng_fly
2003-08-29
打赏
举报
回复
不能
C++学习笔记-----在
一个
构造函数
中
调用
另
一个
构造函数
在
构造函数
中
调用
另
一个
构造函数
如果一不注意就会有无限递归的危险,而且
构造函数
的参数的不同也决定了
调用
的不同,所以特意总结了一下哪些形式的
调用
时允许的: 首先假设
构造函数
调用
时参数都是外部的变量,而不是
一个
常量。 第一种,也是C++11支持的一种
调用
方式。在函数的初始化列表中
调用
另
一个
构造函数
: int b = 2; class Test { public: Test() : Test(b)
java list 泛型 转换_如何使用泛型从Java中将List <?>转换为List?
在Java中,如何转换List到列表< T>使用通用方法,以便我可以用单个方法
调用
来替换以下内容的模式:List untypedList = new ArrayList(); // or returned from a legacy methodList typedList = new ArrayList();for (Object item: untypedList)typedLi...
构造函数
中为什么不能
调用
虚函数?
构造函数
中为什么不能
调用
虚函数?
构造函数
调用
层次会导致
一个
有趣的两难选择。试想:如果我们在
构造函数
中并且
调用
了虚函数,那么会发生什么现象呢?在普通的成员函数中,我们可以想象所发生的情况——虚函数的
调用
是在运行时决定的。这是因为编译时这个对象并不能知道它是属于这个成员函数所在的那个类,还是属于由它派生出来的某个类。于是,我们也许会认为在
构造函数
中也会发生同样的事情。 然而,情况并非如此。对于在...
Java
构造函数
中
调用
构造函数
在Java中,当为
一个
类创建了多个
构造函数
时,有时想在
一个
构造函数
中
调用
另
一个
构造函数
以减少代码量。这时可以使用this关键字来实现。 通常,当使用this关键字时,它意味着“这个对象”或者“当前对象”,并且它自身产生对当前对象的引用。在
一个
构造函数
中,当给传递给它
一个
参数列表时,它就有了不同的意义。 它将直接的
调用
能够匹配这个参数列表的
构造函数
。因此,我么可以直接的
调用
其它
构造函数
:
C++ 如何在
构造函数
中
调用
构造函数
?
C++ 如何在类的
构造函数
中
调用
已经写好的
构造函数
让我们先看一段代码: #include<iostream> using namespace std; int main() { int a = 12; cout << a << endl; int* p = new (&a) int(15); cout <<...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章