struct Date{
int day, month, year;
}; struct Book{
string name;
Date date;
void init(string n, int y, int m, int d);
void print(void);
}; void Book::init(string n, int y, int m, int d){
name = n;
date.day = d;
date.month = m;
date.year = y;
}
void Book::print(void){
cout << "Book:"<< name <<endl;
cout << "Date:"<<date.year<<","<<date.month<<","<<date.day<<endl;
}
int main(){
Book book;
string name = "c++";
book.init(name,1990,7,7);
book.print();
}
//其实就跟python差不多 class Date(object):
def __init__(self,day):
self.day = day
派生类,其实就是子类。这种关系也就是继承。
基类或者父类就是被继承的类。
class RatePlayer:public TableTennisPlayer
RatePlayer继承了TableTennisPlayer.派生类不能直接访问基类的私有成员,必须通过基类的公有方法来访问。
构造函数:构造函数与类名相同。
析构函数:与类名相同,前面加~,特别适用于当一个对象被动态分别内存空间,而在对象被销毁的时我们希望释放它所占用的空间的时候
CRectangle::CRectangle (int a, int b) {
width = new int;
height = new int;
*width = a;
*height = b;
} CRectangle::~CRectangle () {
delete width;
delete height;
}
当没有构造函数时,可以这么写,使用指向函数的指针
TableTennisPlayer *player = new TableTennisPlayer;
player->set_value("Jhon","Jack",false);//set_value就是个初始化的函数
player->Name();