zoukankan      html  css  js  c++  java
  • c++基础(二):成员he派生类

    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();
    

      

  • 相关阅读:
    572.Subtree of Another Tree
    35.Search Insert Position(二分查找)
    198.House Robber(dp)
    724.Find Pivot Index
    705.Design HashSet
    求连通分量(深搜)
    删边(normal)
    叠放箱子问题
    数字游戏
    火车票
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/4115325.html
Copyright © 2011-2022 走看看