社区
C++ Builder
帖子详情
关于类的无参数构造函数
longbeibei
2006-08-22 06:27:02
class A
{
A();
...
}
A test;
...
test.A::A();执行结果及过程是甚么
...全文
411
10
打赏
收藏
关于类的无参数构造函数
class A { A(); ... } A test; ... test.A::A();执行结果及过程是甚么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
longbeibei
2006-11-02
打赏
举报
回复
问题: 无参数构造函数没有任何操作
为什么A.test::test();
会影响下面的结果呢
是否可以多次调用构造函数????
longbeibei
2006-11-02
打赏
举报
回复
无参数构造函数甚么操作都没有
test::test()
{
}
test::~test()
{
}
longbeibei
2006-11-02
打赏
举报
回复
呵呵
谢谢大家的讨论
class test
{
public:
test();
CString sTest;
virtual ~test();
};
在另外的方法里
test A;
A.sTest="hello";
MessageBox(A.sTest);
A.test::test();
MessageBox(A.sTest);
CDialog::OnOK();
最后一次输出空
勉励前行
2006-10-18
打赏
举报
回复
被test.A::A() 這寫法嚇了一跳。
構造函數是可以調用的。但會生成一個臨時對象。
多次重新构造自己的对象可以這麼做:
A test ;
test = A() ;//這個才是多次重新构造自己,不過對於VCL類,請別這樣用。VCL類不符合C++標准
test.A::A() ; 該通不過編譯吧,不知哪個差勁的編譯器給它編譯通過了。
xiaoshi0
2006-10-17
打赏
举报
回复
就你上面写的例子,存在如下问题:
1。定义class没有在最后加分号,编译肯定不通过。
2。构造函数没有声明成public的,无法执行最后两个语句。
从你想要表达的结果来看:
该例子调用了2次A()构造函数,第一次在A test;时,第二次在test.A::A();时
第二次的意思就是将构造函数当成是普通函数那样调用。
由于我不知道你真正的类中的构造函数都进行了哪些操作,所以无法从该例子中判断为什么你的数据会按照正常的方式进行
个人觉得你的程序,歪打正着的可能行大一些。
leesnow1
2006-10-16
打赏
举报
回复
先会把 A类中的变量都分配内存,然后在执行test.A::A(), 具体的内容是由编译器完成的,不需要人为进行,但不能缺少
longbeibei
2006-08-31
打赏
举报
回复
但是如果不调用test.A::A();
程序输出test成员变量时还是上次的值
调用后就是最新的
只是不明白test.A::A();有什么作用
Keyser
2006-08-29
打赏
举报
回复
完全不理解,构造函数只能由编译器调用,从来没有哪个编译器允许程序员自己调用构造函数的!
何况无参数构造函数表示“不初始化”,完全没有“清空”的意思!
请楼主好好检查自己的表述!
longbeibei
2006-08-29
打赏
举报
回复
没有错误
我都编译测试了
在一个项目里面 数据老是清除不掉
我就试了一下test.A::A();样子的办法
果然把对象里面的数据全部清空
但是在一个小例子里面就是不起作用
请问 如果想多次重新构造自己的对象
如何办到
wt_sanlian
2006-08-24
打赏
举报
回复
编译器会报错!无法编译
C++
类
:有
参数
构造函数
与无
参数
构造函数
使用注意事项
构造函数
的作用是在创建
类
的对象时进行
类
对象初始化的。 在 C++ 中,每个
类
都有且必须有
构造函数
。如果用户没有自行编写
构造函数
,则 C++ 自动提供一个无
参数
的
构造函数
,称为默认
构造函数
。这个默认
构造函数
不做任何初始化工作。一旦用户编写了
构造函数
,则这个无
参数
的默认
构造函数
就消失了。如果用户还希望能有一个无
参数
的
构造函数
,必须自行编写。
构造函数
也是一种函数, 所以在定义时可以将其定义为有
参数
和无...
【C++】
构造函数
分
类
① (
构造函数
分
类
简介 | 无参
构造函数
| 有参
构造函数
| 拷贝
构造函数
| 代码示例 - 三种
类
型
构造函数
定义与调用 )
一、
构造函数
分
类
1、
构造函数
分
类
简介 2、
构造函数
分
类
代码分析 无参
构造函数
有参
构造函数
拷贝
构造函数
二、代码示例 - 三种
类
型
构造函数
定义与调用
类
的有
参数
默认
构造函数
C++
类
的有参默认
构造函数
在一个
类
中 ,如果程序员没有写,任何一个
构造函数
,则编译器将为该
类
提供一个默认的
构造函数
,如果程序员对
类
的
构造函数
进行了重载,则编译器将不提供默
构造函数
,这里需要手动书写一个无参的
构造函数
, 无参的
构造函数
,也就是默认
构造函数
, 默认
构造函数
分为两种: 1、不含有
参数
的默认
构造函数
2、带有默认
参数
值的
构造函数
在这里主要说的是带有默认
参数
值的
构造函数
的使用及注意事项: 定义方法示例: class Circle{ public: Circle(int a=1,int b=2,in
C++关于默认
构造函数
和无参
构造函数
C++关于默认
构造函数
和无参
构造函数
默认
构造函数
在不提供任何
构造函数
的情况下,编译器给出一个不带
参数
的,不包含代码的
构造函数
。 #include<iostream> using namespace std; class A { public: int val; }; int main(){ A a; //这里调用的是默认
构造函数
cout<<a.val<<endl; return 0; } 当已经提供了显式的
构造函数
,例如:
类
中的
构造函数
类
中的
构造函数
构造函数
:方法名和
类
名相同,没有返回值的
类
型这个的方法就是
构造函数
构造函数
的调用是通过new 关键字来调用的 Dog dog = new Dog();
构造函数
作用用于为对象分配空间,并初始化对象的属性 当定义一个
类
的时候,如果这个
类
中没有定义
构造函数
,则系统会为该
类
提供一个默认的无
参数
的
构造函数
。如果自己在
类
中定义了一个带
参数
的
构造函数
,则系统的默认无
参数
构造函数
就不会提供...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章