第一节类和对象的基本概念 3、类的定义 #include <iostream.h> class Date i private: int year, month, day public: setdate(int y=2000 edat m=l, int d=1) ear=y, month=m it leapyear(voi yoid printdate(voi (cout< <year<<"-<<month<< <<day< <end int Date: isleapyear(void) Int p: (year %4==0&&year%100! =o)(year%400 =二 t
第一节 类和对象的基本概念 3、类的定义 #include<iostream.h> class Date { private: int year,month,day; public: setdate(int y=2000,int m=1,int d=1) {year=y;month=m;day=d;} int isleapyear(void); void printdate(void) {cout<<year<<'-'<<month<<'- '<<day<<endl;} }; int Date::isleapyear(void) { int p; p=(year%4==0&&year%100!=0)||(year%400== 0); return p; }
第一节类和对象的基本概念 主程序 void main (void) I Date dal, da2, dal setdate(2004 da2 setdate (2006, 10, 1) dal printdate da2 printdate cout<<2004 year (dal. isleapys ear( cout<<"is a leap year. "<<endl; else cout≤≤" is not a leap year."<<end cout<< 2006 year if(da2. isleapyearQ cout<<"is a leap year. "<<endl; else cout<<"is not a leap year. "<<endl;
第一节 类和对象的基本概念 4、主程序 void main(void) { Date da1,da2; da1.setdate(2004,5,1); da2.setdate(2006,10,1); da1.printdate(); da2.printdate(); cout<<"2004 year "; if(da1.isleapyear()) cout<<"is a leap year."<<endl; else cout<<"is not a leap year."<<endl; cout<<"2006 year "; if(da2.isleapyear()) cout<<"is a leap year."<<endl; else cout<<"is not a leap year."<<endl; }
第一节类和对象的基本概念 的成员访问限制 1、公有成员: public-所定义的成员是开放的,可在 任何地方访问(类内部及程序的其他地方) 2、私有成员: private所定义的成员是隐藏的,只 能在类内部访问,不能在程序的其他地方访问 3、保护成员: protected所定义的成员是半开放的, 可在类内部访问,也可在其派生类中访问,但不能在 程序的其他部分访问。 4、数据成员通常定义为私有成员,以实现数据的隐藏 成员函数通常设为公有的,以通过消息传递访问数据 成员;保护成员主要用继承
第一节 类和对象的基本概念 ㈤ 成员访问限制 1、公有成员:public——所定义的成员是开放的,可在 任何地方访问(类内部及程序的其他地方); 2、私有成员:private —— 所定义的成员是隐藏的,只 能在类内部访问,不能在程序的其他地方访问; 3、保护成员:protected —— 所定义的成员是半开放的, 可在类内部访问,也可在其派生类中访问,但不能在 程序的其他部分访问。 4、数据成员通常定义为私有成员,以实现数据的隐藏; 成员函数通常设为公有的,以通过消息传递访问数据 成员;保护成员主要用于继承
第一节类和对象的基本概念 二、数据成员 1、一般定义格式:类型数据成员名 2、说明 >数据成员中,不能使用auto、 register、 extern等进行 说明;(请思考为什么?) 定义类时,计算机并不给数据成员分配内存空间, 在定义对象时才分配空间 >不能在定义时给类中的成员赋初值。(请思考为什么) >数据成员既可为基本数据类型,也可以是复杂数据类 型(数组、指针、引用、结构体,也可以是类变量等)
第一节 类和对象的基本概念 二、数据成员 1、一般定义格式:类型 数据成员名 2、说明: ➢数据成员中,不能使用auto、register、extern等进行 说明;(请思考为什么?); ——定义类时,计算机并不给数据成员分配内存空间, 在定义对象时才分配空间; ➢不能在定义时给类中的成员赋初值。(请思考为什么) ➢数据成员既可为基本数据类型,也可以是复杂数据类 型(数组、指针、引用、结构体,也可以是类变量等)
第一节类和对象的基本概念 三、成员函数 >在面向对象程序设计中,成员函数也称方法是面 向对象程序设计消息传递机制的实现方式。 ()在类外定义 >在类中只给出成员函数的原型,成员函数体在类的外 部定义。 格式 返回类型类名:函数名(形参表) {函数你 例【34】定义座标点的类 point
第一节 类和对象的基本概念 三、成员函数 ➢在面向对象程序设计中,成员函数也称方法——是面 向对象程序设计消息传递机制的实现方式。 ㈠ 在类外定义 ➢ 在类中只给出成员函数的原型,成员函数体在类的外 部定义。 ➢格式: 返回类型 类名::函数名(形参表) { 函数体} 例【3.4】定义座标点的类point