#include<iostream>using namespace std;class aaa{ public: void zh(int num,double gra); aaa(int num,double gra):number(num),grade(gra){} private: int number; double grade;};void aaa::zh(int num,double gra){ char nam='a'; num=nam; gra=nam; cout<<nam<<num<<gra<<endl;}int main(){ aaa a1; a1.zh(001,90); return 0;}
1 回答
已采纳
朕日理万机
TA贡献27条经验 获得超28个赞
只有你没有定义构造函数,编译器才会提供默认构造函数aaa()。
现在因为你自己定义了构造函数aaa(int num,double gra),所以不再会有默认构造函数了。现在唯一的构造函数需要提供一个int和一个double,所以运行到aaa a1就报错了,因为你没有传递任何参数,就会去找那个不用参数的构造函数,结果没找到。你可以改成aaa a1(1, 3.14);或者提供不需要参数的构造函数,或者让你现有的这个构造函数有默认参数。
- 1 回答
- 0 关注
- 3399 浏览
添加回答
举报
0/150
提交
取消