最后2个问题,明天开始看C++PRIMER..

jinjunweiruan 2008-07-02 07:15:49
Thinking in c++太晕了
刚昨天买到,一起看,。。。。。。。
1.默认构造函数的疑惑。
问,既然系统可以为我们生成一个默认的,那为什么我门还去定义构造函数呢??难道是可以定义我们自己的数字?
2.问。有构造函数没有默认构造函数不行???就会出错??(这个是怎么滴?——
3.构造/析构函数具体是怎么实现初始化的啊?就是说,他他他在哪初始化,为什么在那里就可以去初始化,他怎么知道这里可以初始化??
XX......
...全文
177 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
macfan 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 jinjunweiruan 的帖子:]
Thinking in c++太晕了
刚昨天买到,一起看,。。。。。。。
1.默认构造函数的疑惑。
问,既然系统可以为我们生成一个默认的,那为什么我门还去定义构造函数呢??难道是可以定义我们自己的数字?
macfan答:默认的构造函数不具备任何功能只是一个空的函数,自己的定义的饿函数可以具体实现一些功能. 构造函数是可以的带入参数,默认形参值,还可以重载等等.



2.问。有构造函数没有默认构造函数不行???就会出错??(这个是怎么滴?——
macfan答:没有默认形参是可以的,此时编译器会自动生成一个没有任何参数功能的构造函数,系统会自动调用,但没有任何效果,没有构造函数不会出错.



3.构造/析构函数具体是怎么实现初始化的啊?就是说,他他他在哪初始化,为什么在那里就可以去初始化,他怎么知道这里可以初始化?? …
macfan答:可以带入默认形参值来初始化,也可以在构造函数体内,对变量对象初始化,具体可以执行一些语法功能.

[/Quote]
biosli 2008-07-02
  • 打赏
  • 举报
回复
楼主是英语专业的~~不过专八不让毕业吧……
说实话我一开始也是先买的TKICPP,到现在也没看完。
倒是C++ Primer更适合初学者。楼主加油!!你问的这些问题以后看书都会明白,不要着急~~
hurry281 2008-07-02
  • 打赏
  • 举报
回复
默认构造函数,是为了维持类的完整,但什么也不做,如果,我们自己写的类一般都是在构造函数中对类成员进行初始化的,
一个类可以有不同的构造函数,在生成类对象时会根据参数的不同调用不同的构造函数进行初始化的
当类中定义了一个构造函数时,系统就不回生成构造函数,我们在构造类对象的时候,需要按照构造函数的参数去构造对象,如果在构造对象的时候,
类中没有定义与之对应的构造函数,就会错误。如:
class A
{
public:
A(int a)
{}

};
void main()
{
A a;
}
构造函数进行初始化,是在生成对象的时候,先去分配对象大小的空间,然后构造函数,去初始化,类成员数据,当用new动态生成时,也一样,只不过这个对象分配的空间是在堆上,析够函数的作用和这个正好相反。
redjuly 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 jinjunweiruan 的帖子:]
3.构造/析构函数具体是怎么实现初始化的啊?就是说,他他他在哪初始化,为什么在那里就可以去初始化,他怎么知道这里可以初始化?? …
[/Quote]
这个都是编译器作的事,如果声明了一个变量,得到内存后,自动去调构造函数,如果没有自定义的构造函数,默认生成一个。
具体估计要看编译器的设计了
zc12gy 2008-07-02
  • 打赏
  • 举报
回复
这只是函数重用,自己的构造函数及析构函数更能符合自己的特殊需要,系统提供的仅能满足一般需要
mingguang7213 2008-07-02
  • 打赏
  • 举报
回复
先学会走路再去跑。
现会用了再去看Thinking
harryzm 2008-07-02
  • 打赏
  • 举报
回复
就c++ primer plus就行,
BMCRNET 2008-07-02
  • 打赏
  • 举报
回复
楼主你问的这些问题

应该是C++里面最初级的东西了!

建议你现在不一定要看什么大部头的教材!

随便找本C++的书,看上10多变就可以了
K行天下 2008-07-02
  • 打赏
  • 举报
回复
1.默认构造函数的疑惑。
问,既然系统可以为我们生成一个默认的,那为什么我门还去定义构造函数呢??难道是可以定义我们自己的数字?
系统默认的构造函数有时不是你所需要的, 并且如果你的类有多个参数时,你总希望调用构造函数可以对他们初始化吧?但是默认构造函数不会


2.问。有构造函数没有默认构造函数不行???就会出错??(这个是怎么滴?——
只要你定义了构造函数,系统不会自动提供默认构造函数


3.构造/析构函数具体是怎么实现初始化的啊?就是说,他他他在哪初始化,为什么在那里就可以去初始化,他怎么知道这里可以初始化??
这个和你定义一个结构体的实例类似, 后面没太明白你意思
Zhang_ZP 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinjunweiruan 的回复:]
...英文。哇日...
更加晕...
还没到那水平,不过在努力学习英语中。哼...
2年后就能达到8级

[/Quote]
2年后你再来看这帖子。
matrixdwy 2008-07-02
  • 打赏
  • 举报
回复
不要你8级,CET-4就行
jinjunweiruan 2008-07-02
  • 打赏
  • 举报
回复
...英文。哇日...
更加晕...
还没到那水平,不过在努力学习英语中。哼...
2年后就能达到8级
matrixdwy 2008-07-02
  • 打赏
  • 举报
回复
LZ打字手抖啊。。。一个字重复好几遍— —|||
matrixdwy 2008-07-02
  • 打赏
  • 举报
回复
你TICPP买的中文版吧,你应该买英文版,我第一卷已经看完了,觉得挺好
关于LZ的几个问题,请看TICPP第六章
andywiliang 2008-07-02
  • 打赏
  • 举报
回复
帮顶.....................

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧