构造函数的存在意义

z19851150 2006-12-16 10:41:29
#include<iostream.h>
class myclass
{
int a,b;
public:
void my(int x,int y)
{
a=x;
b=y;
}
void show()
{
cout<<"a+b="<<a+b<<endl;
}
};
void main()
{
myclass obj1,obj2;
obj1.my(0,0);
obj1.show();
obj2.my(100,50);
obj2.show();
}


#include<iostream.h>
class myclass
{
int a,b;
public:
myclass(int x,int y)
{
a=x;
b=y;
}
void show()
{
cout<<"a+b="<<a+b<<endl;
}
};
void main()
{
myclass obj1(0,0);
obj1.show();
myclass obj2(100,50);
obj2.show();
}

的结果都一样,那还需要构造函数干嘛?构造函数的存在意义又是什么
...全文
252 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
VCLIFE 2006-12-18
  • 打赏
  • 举报
回复
构造函数就是出厂设置哈哈
msgsnd 2006-12-16
  • 打赏
  • 举报
回复
就这样说吧:
1、一个人A,本来没有钱,挣了1000万,成为有钱人。
2、一个有钱人的儿子B, 从一降生就是一个有钱人。

A和B都是有钱人,看来一样,实际上过程是不同的。
tiancaiak 2006-12-16
  • 打赏
  • 举报
回复
构造函数用于初始化类中的变量
可以一步就初始化,很方便
myclass obj1,obj2;
//调用的是默认构造函数:
myclass()
{
}
jixingzhong 2006-12-16
  • 打赏
  • 举报
回复
没有构造函数,
那么你的对象怎么生成??

呵呵,
概念问题
jixingzhong 2006-12-16
  • 打赏
  • 举报
回复
两种方法本质上有明显的区别 ~~

关键就是OO的思想咯 ~~
YeTimmy 2006-12-16
  • 打赏
  • 举报
回复
myclass obj1,obj2; //这里也调用了构造函数(编译器自动合成的)
obj1.my(0,0);

myclass obj1(0,0);

一个两步,一个一步,节省步骤

64,647

社区成员

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

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