嘿嘿,我用代码写了一篇游记!

嘿嘿,我用代码写了一篇游记!
2021年10月11日 13:36 CSDN程序人生

作者|轩辕之风O

国庆假期已结束,要收心准备回去继续搬砖了!

这几天各种各样的游记文章相信大家看的挺多了,我这几天又去哪里浪了呢?我用代码告诉你!顺便提前找找感觉,要好好学习技术了!

出行

这几天出行,奔波于几个城市之间,先来看下城市的定义:

/**

* 城市

*/

classCity {

public:

City(string name) {

this->name = name;

}

stringgetName() {

returnthis->name;

}

private:

string name;

};

出行自然离不了交通工具,咱们先来抽象一个基类,或者说定义一个接口:

/**

* 交通

*/

classTransport {

public:

virtualvoidgo(stringfrom, string to) = ;

};

这几天,动车、汽车、公交车、轮船、电动车各种都有,再来定义这些子类:

/**

* 火车/动车

*/

class Train : public Transport {

public:

virtual void go(string from, string to) {

cout

}

};

/**

* 出租车

*/

class Taxi : public Transport {

public:

virtual void go(string from, string to) {

cout

}

};

/**

* 汽车

*/

class Bus : public Transport {

public:

virtual void go(string from, string to) {

cout

}

};

/**

* 船

*/

class Boat : public Transport {

public:

virtual void go(string from, string to) {

cout

}

};

/**

* 电动车

*/

class EBike : public Transport {

public:

virtual void go(string from, string to) {

cout

}

};

吃喝

出来玩,当然少不了吃吃吃!同样的,对于美食,也先抽象一个基类出来:

/**

* 美食

*/

classFood {

public:

Food(string name) {

this->name = name;

}

virtualvoideat(){

cout "吃美食: " this->name endl;

}

protected:

string name;

};

这几天吃了海鲜、面食、米粉、甜品等等各种类型的美食,来定义这些子类:

/**

* 美食:鱼

*/

class Fish : public Food {

public:

Fish(string name):Food(name){}

virtual void eat() {

cout name

}

};

/**

* 美食:甜品

*/

class Dessert : public Food {

public:

Dessert(string name):Food(name){}

virtual void eat() {

cout name

}

};

/**

* 美食:芋头

*/

class Taro : public Food {

public:

Taro(string name):Food(name){}

virtual void eat() {

cout name

}

};

/**

* 美食:海鲜

*/

class SeaFood : public Food {

public:

SeaFood(string name):Food(name){}

virtual void eat() {

cout name

}

};

/**

* 美食:米粉

*/

class RiceFlour : public Food {

public:

RiceFlour(string name):Food(name){}

virtual void eat() {

cout name

}

};

/**

* 美食:面条

*/

class Noodle : public Food {

public:

Noodle(string name):Food(name){}

virtual void eat() {

cout name

}

};

玩乐

除了吃,旅游旅游,当然得游了!所以景点少不了:

/**

* 景点

*/

classScenicSpots {

public:

ScenicSpots(string name) {

this->name = name;

}

voidvisit(){

cout "游玩: " this->name endl;

}

private:

string name;

};

哦,对了,抽空还看了一部电影:

classMovie {

public:

Movie(string name) {

this->name = name;

}

voidwatch(){

cout "看电影: " this->name endl;

}

private:

string name;

};

每一天差不多就是上面这些内容了:交通、吃喝、游玩,来定义一个每一天假日的类,把这些操作封装一下:

/**

* 假日

*/

class Holiday {

public:

Holiday(string day, City city) {

this->day = day;

cout

}

void transport(Transport* t, string from, string to) {

t->go(from, to);

}

void eat(Food* f) {

f->eat();

}

void visit(ScenicSpots* s) {

s->visit();

}

void watch(Movie* m) {

m->watch();

}

private:

string day;

};

度假

好了,最后一步,执行假期计划吧:

intmain() {

/*

* 第一天

*/

Holiday day1("9-30", City("桂林"));

day1.transport(new Train(), "成都", "桂林");

day1.eat(new Fish("剑骨鱼"));

day1.eat(new Taro("芋泥芥菜汤"));

/*

* 第二天

*/

Holiday day2("10-1", City("桂林"));

day2.eat(new RiceFlour("桂林米粉"));

day2.transport(new Taxi(), "桂林", "桂林磨盘山码头");

day2.transport(new Boat(), "桂林磨盘山码头", "阳朔龙头山码头");

day2.eat(new Dessert("绿豆马蹄清补凉"));

day2.transport(new Bus(), "阳朔", "桂林");

day2.eat(new Fish("啤酒鱼"));

day2.eat(new Taro("腊味蒸芋丝"));

/*

* 第三天

*/

Holiday day3("10-2", City("桂林"));

day3.eat(new RiceFlour("肠粉"));

day3.visit(new ScenicSpots("靖江王城"));

day3.visit(new ScenicSpots("两江四湖"));

day3.visit(new ScenicSpots("象山"));

day3.eat(new Dessert("黄桃糖水"));

day3.eat(new Food("凉皮"));

/*

* 第四天

*/

Holiday day4("10-3", City("北海"));

day4.transport(new Train(), "桂林", "北海");

day4.eat(new SeaFood("皮皮虾"));

day4.eat(new SeaFood("生蚝"));

day4.eat(new SeaFood("牡蛎煎蛋"));

day4.transport(new Boat(), "北海", "涠洲岛");

day4.visit(new ScenicSpots("石螺口海滩"));

day4.eat(new Dessert("芒果西露"));

day4.eat(new Noodle("重庆小面"));

/*

* 第五天

*/

Holiday day5("10-4", City("北海 涠洲岛"));

day5.transport(new EBike(), "涠洲岛", "涠洲岛");

day5.visit(new ScenicSpots("滴水丹屏"));

day5.visit(new ScenicSpots("鳄鱼山"));

day5.eat(new SeaFood("虾饼"));

day5.eat(new RiceFlour("汤粉"));

day5.transport(new Boat(), "涠洲岛", "北海");

day5.visit(new ScenicSpots("侨港风情街"));

day5.eat(new Dessert("芒果沙冰"));

/*

* 第六天

*/

Holiday day6("10-5", City("北海"));

day6.transport(new EBike(), "北海银滩", "北海老街");

day6.eat(new RiceFlour("鸡肉汤粉"));

day6.visit(new ScenicSpots("北海老街"));

day6.eat(new RiceFlour("螺蛳粉"));

day6.eat(new Dessert("银耳羹"));

day6.watch(new Movie("长津湖"));

day6.eat(new RiceFlour("炒粉"));

day6.eat(new Food("萝卜烧牛腩"));

/*

* 第七天

*/

Holiday day7("10-6", City("南宁"));

day7.transport(new Train(), "北海", "南宁");

/*

* 第八天

*/

Holiday day8("10-7", City("南宁 成都"));

day8.transport(new Train(), "南宁", "成都");

day8.eat(new Noodle("泡面"));

return;

}

最后执行一下,看看结果,旅游行程出炉啦:

---------------假日: 9-30 桂林 --------------

坐动车,从 成都 到 桂林

吃鱼: 剑骨鱼

吃芋头: 芋泥芥菜汤

---------------假日: 10-1 桂林 --------------

吃粉: 桂林米粉

坐出租车,从 桂林 到 桂林磨盘山码头

坐船,从 桂林磨盘山码头 到 阳朔龙头山码头

吃甜品: 绿豆马蹄清补凉

坐公交车,从 阳朔 到 桂林

吃鱼: 啤酒鱼

吃芋头: 腊味蒸芋丝

---------------假日: 10-2 桂林 --------------

吃粉: 肠粉

游玩: 靖江王城

游玩: 两江四湖

游玩: 象山

吃甜品: 黄桃糖水

吃美食: 凉皮

---------------假日: 10-3 北海 --------------

坐动车,从 桂林 到 北海

吃海鲜: 皮皮虾

吃海鲜: 生蚝

吃海鲜: 牡蛎煎蛋

坐船,从 北海 到 涠洲岛

游玩: 石螺口海滩

吃甜品: 芒果西露

吃面条: 重庆小面

---------------假日: 10-4 北海 涠洲岛 --------------

骑电瓶车,从 涠洲岛 到 涠洲岛

游玩: 滴水丹屏

游玩: 鳄鱼山

吃海鲜: 虾饼

吃粉: 汤粉

坐船,从 涠洲岛 到 北海

游玩: 侨港风情街

吃甜品: 芒果沙冰

---------------假日: 10-5 北海 --------------

骑电瓶车,从 北海银滩 到 北海老街

吃粉: 鸡肉汤粉

游玩: 北海老街

吃粉: 螺蛳粉

吃甜品: 银耳羹

看电影: 长津湖

吃粉: 炒粉

吃美食: 萝卜烧牛腩

---------------假日: 10-6 南宁 --------------

坐动车,从 北海 到 南宁

---------------假日: 10-7 南宁 成都 --------------

坐动车,从 南宁 到 成都

吃面条: 泡面

最后,PO几张涠洲岛的海景图,还有什么比大海更能让人忘记一切烦恼呢?

最后的最后:

如果你的假期要用一行代码来表示,该是什么呢?

是时候展示真正的技术了,快来秀出你的假期!

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部