社区
C++ 语言
帖子详情
我是个傻逼,连构造函数都不会
cmnlzdd
2011-04-12 03:45:54
我定义了一个叫shock的类,有两个构造函数,分别是
shock(){shares=0;shareval=0;Output();}
shock(int n=0,int pr=3):share(n){shareval=pr;Output();}
结果好像是报错,大家帮忙看看咋回事呗
...全文
83
13
打赏
收藏
我是个傻逼,连构造函数都不会
我定义了一个叫shock的类,有两个构造函数,分别是 shock(){shares=0;shareval=0;Output();} shock(int n=0,int pr=3):share(n){shareval=pr;Output();} 结果好像是报错,大家帮忙看看咋回事呗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zicheng_lin
2011-04-12
打赏
举报
回复
[Quote=引用 7 楼 pengzhixi 的回复:]
额 你这当你构造这样一个对象的时候比如:
shock obj;那么你能知道调用哪个构造函数吗?如果你不知道那么编译器也不知道。
[/Quote]
+1
luciferisnotsatan
2011-04-12
打赏
举报
回复
shock(){shares=0;shareval=0;Output();}
shock(int n=0,int pr=3):share(n){shareval=pr;Output();}
shock *p = new shock();
这样调用时,编译器判断不出改用默认的还是两个都是默认值的。会有二义性
cmnlzdd
2011-04-12
打赏
举报
回复
哦,还是二楼的大侠给出了正确的答案啊!!谢谢您了啊!
yishuihanxiao
2011-04-12
打赏
举报
回复
定义了两个默认构造函数,所谓默认构造函数,就是没有参数或者所有参数都有默认值。
你这个定义:shock a; 编译器选择哪个构造函数呢?
ifengshow
2011-04-12
打赏
举报
回复
慢慢来
zicheng_lin
2011-04-12
打赏
举报
回复
你这样写,就是构造函数重定义了..
pengzhixi
2011-04-12
打赏
举报
回复
额 你这当你构造这样一个对象的时候比如:
shock obj;那么你能知道调用哪个构造函数吗?如果你不知道那么编译器也不知道。
cmnlzdd
2011-04-12
打赏
举报
回复
请问为什么和默认的是混淆的?不懂啊,希望不吝赐教啊
cmnlzdd
2011-04-12
打赏
举报
回复
class shock{
public:
shock(){shares=0;shareval=0;Output();}
shock(int n=0,int pr=3):share(n){shareval=pr;Output();}
}
老师说一看就是错的,叫我重新写,说什么两个函数混淆了。我不懂啊!!大家救我啊~
yuppy
2011-04-12
打赏
举报
回复
lz不要这样说自己..
shock(int n=0,int pr=3):share(n){shareval=pr;Output();}
是不是应该是shock(int n, in pr) ?
taodm
2011-04-12
打赏
举报
回复
知道什么叫“默认构造函数”么?
bdmh
2011-04-12
打赏
举报
回复
shock(int n=0,int pr=3),这个不能和默认的区分开,因为是有默认值,所以不写也是对的,这样编译器就没法区分了
zicheng_lin
2011-04-12
打赏
举报
回复
贴下全部代码,和错误知道什么地方,别说自己是s.b,谁都是从新手一步一步进步的!
C++拷贝
构造函数
拷贝
构造函数
是
构造函数
的一个重载,因此显式的定义了拷贝构造,那么编译器也不再默认生成
构造函数
。 特征 拷贝构造也是一个特殊的成员函数 特征如下: 拷贝构造是
构造函数
的一个重载; 拷贝构造的参数只有一个
有关java的父子类
构造函数
问题的复习总结
两个函数都针对私有成员变量进行了赋值,但不同的是有参
构造函数
接受了外部所传输的值。 我们来看几组测试数据: Vehicle v1 = new Vehicle(); Vehicle v2 = new Vehicle("v2",20); System.out.println...
python
构造函数
反射_python基础_多态+封装+反射
多态:指一个事物有多种状态。importabcclass Animal(metaclass=abc.ABCMeta): #同一类事物:动物@abc.abstractmethoddeftalk(self):passclass People(Animal): #动物的形态之一:人deftalk(self):print('say hello')...
构造函数
后面加冒号,这
傻
逼
玩意,有病吧
类line有两个私有对象成员startpoint、endpoint,line的
构造函数
写成: line(int sx,int sy,int ex,int ey):startpoint(sx,sy),endpoint(ex,ey){……} 初始化时按照类定义中对象成员的顺序分别调用...
一些java笔试题解
和 super() 不能同时出现在一个
构造函数
里面,因为this()必然会调用其它的
构造函数
,其它的
构造函数
必然也会有 super() 语句的存在,所以在同一个
构造函数
里面有相同的语句,就失去了语句的意义,编译器也
不会
通过。...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章