【清华大学-郑莉教授】C++语言程序设计 类与对象
- 面向对象程序设计的基本特点
- 类与对象的基础概念和语法
- 类和对象
- 构造函数和析构函数
- 默认构造函数
- 委托构造函数
- 复制构造函数
- 右值引用
- 移动构造函数
- 析构函数
- 内联成员函数
- 类的组合
- 前向引用声明
- 枚举类
面向对象程序设计的基本特点
类与对象的基础概念和语法
时间表示器
类和对象
对象定义的语法: 类名 对象名;
例:Clock myClock;
#include <iostream>
using namespace std;
class clock{//类的定义 public://外部接口,公有成员函数 void settime(int newh=0,int newm=0,int news=0);//给出默认参数值 ,初始化 void showtime();private://私有数据成员 int hour,minute,second;
};
//成员函数的实现
void clock::settime(int newh,int newm,int news){hour=newh;minute=newm;second=news;//一组函数直接共享一组数据
}
void clock::showtime(){cout<<hour<<":"<<minute<<":"<<second<<endl;
}
int main()
{clock myclock;//定义对象 myclock.settime(8,30,30);//设置时间 myclock.showtime();//显示时间 return 0;
}
输入输出个人信息
#include<iostream>
using namespace std;
class information{public:void setinfo();void showinfo();private:int number;char name[100];char majority[100];char gender[100];
};
void information::setinfo(){cout<<"Enter your number:";cin>>number;cout<<"Enter your name:";cin>>name;cout<<"Enter your majority:";cin>>majority;cout<<"Enter your gender:";cin>>gender;
}
void information::showinfo(){cout<<"Your number is "<<number<<"."<<endl;cout<<"Your namae is "<<name<<"."<<endl;cout<<"Your majority is "<<majority<<"."<<endl;cout<<"Your gender is "<<gender<<"."<<endl;
}
int main()
{information myinfo;myinfo.setinfo();myinfo.showinfo();return 0;
}
构造函数和析构函数
定义对象时,如何初始化?
int a=0;
int b(2);
构造函数
默认构造函数
自己写了构造函数,就不会生成隐含构造函数,必须手动初始化或定义一个默认构造函数;
委托构造函数
复制构造函数
右值引用
移动构造函数
析构函数
内联成员函数
类的组合
- 在定义一个新类时,可以用已有类的对象作为成员