永发信息网

定义C++一个类的基本形式

答案:4  悬赏:60  手机版
解决时间 2021-03-10 05:09
定义C++一个类的基本形式
最佳答案
class A
{
public://构造析构函数
A() ;
A(...);
A(const A&) ;
virtual~A();

initiA();初始化函数
destroyA();销毁函数
public:
操作接口若干:
虚函数若干:
static 共享接口若干;
private:
数据结构
static 类 类型信息;
static 类 支持结构
static 类 继承结构
friend 友元类
关联 类
耦合 类
};
全部回答
class{ private: public: };
class 类名{ public: };
亲手敲的代码,要加分啊,哪里看不懂问我 #include #include #include using namespace std; class date { public: date();//构造函数 date(const date&);//拷贝构造函数 date strtodate(string);//将string转化为date void setdate(string);//设置日期 void printdate();//打印日期 private: int year; int month; int day; bool pass; bool checkformat(string);//验证日期输入格式 void validate();//验证日期数值有效性 bool leapyear(int);//闰年判断 }; date::date() { year = 2006; month = day = 1; validate(); } date::date(const date& date) { year = date.year; month = date.month; day = date.day; pass = date.pass; } date date::strtodate(string ds) { // yyyy:mm:dd date d; d.setdate(ds); return d; } void date::setdate(string ds) { if( !checkformat(ds) ) { cout << "日期格式错误" << endl; pass = false; return; } validate(); if(pass) { year = atoi(ds.substr(0, 4).c_str()); month = atoi(ds.substr(5, 2).c_str()); day = atoi(ds.substr(8, 2).c_str()); } } void date::printdate() { if (pass) { cout << year << "年" << month << "月" << day << "日" << endl; } else { cout << "日期错误" << endl; } } void date::validate() { pass = false; if (year < 1900 || month < 1 || month > 12 || day < 1 || day > 31) { return; } if (month == 2) { if (leapyear(year)) { if (day <= 29) { pass = true; } return; } else { if (day <= 28) { pass = true; } return; } } else if (month == 4 || month == 6 || month == 9 || month == 11) { if (month <= 30) { pass = true; } return; } else pass = true; } bool date::leapyear(int year) { if (year % 100 == 0) { if (year % 400 == 0) { return true; } } else { if ((year % 4) == 0) { return true; } } return false; } bool date::checkformat(string ds) { //yyyy:mm:dd if (ds.length() != 10 || ds[4] != ':' || ds[7] != ':') { return false; } for (int i = 0; i < (int)ds.length(); i++ ) { if( i != 4 && i != 7) { if (ds[i] < '0' || ds[i] > '9') { return false; } } } return true; } int main() { // 测试是否能正确设置日期 string str; cout << "--test:请输入一个日期:" << endl; cin >> str; date d; d.setdate(str); d.printdate(); //测试拷贝构造函数 cout << "--test:调用拷贝构造函数" << endl; date dc = d; dc.printdate(); //测试字符串到日期转换的函数 cout << "--test:将字符串’2012:03:28‘转化为date类型并输入" << endl; date dt = d.strtodate("2012:03:28"); dt.printdate(); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【解一元一次方程】解一元一次方程的一般步骤
四年级的26×73格子乘法
M7750N激光多功能一体机显示scanner locked怎
上海浦东大道民生路以北的老式小区 什么时候
华晨电脑怎么去啊,有知道地址的么
两个共点力的最大值和最小值
怎么传奇世界现在没有背景音乐?
我的魅族pro6puls鲁大师跑分7万多,正常吗?
家乡客我想知道这个在什么地方
“我的蟋蟀们!我的覆盆子们和木莲们!”用的是
家字不带点读什么字
老大的幸福老三的扮演者
太原哪有配电子锁钥匙的?
热水器出热水小怎么办
隆回县邵阳味庄小卤地址在哪,我要去那里
推荐资讯
五毒关在一起会怎么样
正弦电路电压有交值与电阻的比是电流的有效值
在qq飞车里,我创了个车队,需九个等级的头衔
求web.config伪静态规则写法 PHP伪静态规则
国隆新村地址在什么地方,想过去办事
请问G12怎么辨别是全新的还是二手的呢?
【英语3】英语3单时什么加s什么加es我在3单时
怎样洗花甲
怪物猎人P3太刀怎么打雄火龙
如何看待电影《但丁密码》和原著《地狱》的差
每年什么时候装修房子最好
最大负荷怎么算
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?