c++类的组合初始化

qq_36248786 2018-09-21 11:20:03
定义一个类的组合之后,怎么定义带有默认形参值的成员函数?(比如Line类的数据成员由Point类构成,现在定义一个Line类带有默认形参值的成员函数,该怎么定义)
...全文
288 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2018-09-23
  • 打赏
  • 举报
回复
Date(int y=0,int m=0,int d=0):year(y),month(m),day(d){}

引用 4 楼 qq_36248786 的回复:
class Date{
private:
int year,month,day;
public:
Date(int y,int m,int d):year(y),month(m),day(d){}
Date(){}
~Date(){}
void setDate(int y=00,int m=00,int d=00);
void show(){
cout<<year<<"."<<month<<"."<<day<<" . "<<endl;
}
};

enum GENDER{MALE=1,FEMALE};
class Person{
private:
int number;
GENDER sex;
Date birthdate;
unsigned int ID;
public:
Person(int n,GENDER s,Date b,unsigned int i):number(n),sex(s),birthdate(b),ID(i){}
Person(Person &p);
~Person(){}
void setPerson(int n=1,GENDER s=MALE,Date b={0,0,0},int i=000000000000000000);
void show(){
cout<<"The number "<<number<<" is a ";
switch (sex){
case 1:cout<<"Male.";break;
case 2:cout<<"Female.";break;
}
// switch (sex){
// case MALE:cout<<"Male.";break;
// case FEMALE:cout<<"Female.";break;
// }
cout<<endl;
cout<<"His/Her birthdate is ";
birthdate.show();
cout<<"And his/her ID is "<<ID<<" . "<<endl;
}
};
就这么一个例子,现在我想定义一个红色部分显示的成员函数,但里面的Date类不知道怎么给定默认形参值
qq_36248786 2018-09-23
  • 打赏
  • 举报
回复
问题解决了 谢谢大神们指教
qq_36248786 2018-09-22
  • 打赏
  • 举报
回复
class Date{ private: int year,month,day; public: Date(int y,int m,int d):year(y),month(m),day(d){} Date(){} ~Date(){} void setDate(int y=00,int m=00,int d=00); void show(){ cout<<year<<"."<<month<<"."<<day<<" . "<<endl; } }; enum GENDER{MALE=1,FEMALE}; class Person{ private: int number; GENDER sex; Date birthdate; unsigned int ID; public: Person(int n,GENDER s,Date b,unsigned int i):number(n),sex(s),birthdate(b),ID(i){} Person(Person &p); ~Person(){} void setPerson(int n=1,GENDER s=MALE,Date b={0,0,0},int i=000000000000000000); void show(){ cout<<"The number "<<number<<" is a "; switch (sex){ case 1:cout<<"Male.";break; case 2:cout<<"Female.";break; } // switch (sex){ // case MALE:cout<<"Male.";break; // case FEMALE:cout<<"Female.";break; // } cout<<endl; cout<<"His/Her birthdate is "; birthdate.show(); cout<<"And his/her ID is "<<ID<<" . "<<endl; } }; 就这么一个例子,现在我想定义一个红色部分显示的成员函数,但里面的Date类不知道怎么给定默认形参值
zy010101 2018-09-22
  • 打赏
  • 举报
回复
给定默认形参就好了啊!
轻箬笠 2018-09-22
  • 打赏
  • 举报
回复
重载=赋值符号不就可以了
qq_36248786 2018-09-22
  • 打赏
  • 举报
回复
问题是类的对象作为形参值,这样的话怎么给这个形参对象值给定默认形参,不是不能直接用 = 赋值符号给对象赋值吗

64,643

社区成员

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

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