斗破C++目录:
斗破C++编程入门系列之前言(斗之气三段)
斗破C++编程入门系列之二:Qt的使用介绍(斗之气三段)
斗破C++编程入门系列之三:数据结构(斗之气三段)
斗破C++编程入门系列之四:运算符和表达式(斗之气五段)
斗破C++编程入门系列之五:算法的基本控制结构之选择结构(斗之气八段)
斗破C++编程入门系列之六:算法的基本控制结构之循环结构(斗之气八段)
斗破C++编程入门系列之七:自定义数据类型(斗之气八段)
斗破C++编程入门系列之八:函数的定义与调用(斗之气八段)
斗破C++编程入门系列之九:函数重载与模板函数(斗之气九段)
斗破C++编程入门系列之十:类与对象:类的声明、成员的访问控制和对象(二星斗者)
斗破C++编程入门系列之十一:类与对象:构造函数和析构函数(四星斗者)
斗破C++编程入门系列之十二:类与对象:类的组合(五星斗者)
斗破C++编程入门系列之十三:类与对象:类模板(六星斗者)
斗破C++编程入门系列之十四:C++程序设计必知:作用域和可见性(六星斗者)
鸡啄米C++
记住首页不迷路:
http://www.jizhuomi.com/software/129.html
斗破观看顺序:
https://v.haohuitao.cc/yhplay/336-1-2.html
第一季☞第二季前2集☞特别篇1☞第二季3~12集☞特别篇2沙之澜歌☞第三季☞第四季☞三年之约☞缘起☞年番
斗气大陆等级:
斗气有十一个阶别,斗之气,斗者,斗师,大斗师,斗灵,斗王,斗皇,斗宗,斗尊,斗圣,斗帝。
斗气大陆上很久没有出现过斗帝了。
一、搏:
萧炎在赫蒙的攻击下并没有放弃斗志,他放下玄重尺,依靠灵活的速度配合八级崩成功战胜了赫蒙。这次死里逃生,也让药老决定将更搞级别的斗技"焰分噬浪尺"传授给萧炎。
在斗气大陆,一场死斗的结果,不但取决于两人自身实力段位,更与他们所修炼使用的斗技息息相关,斗技等级自上而下,依次分为 天 地 玄 黄 四档,即使自身实力有所欠缺,只要斗技等级略高一等,亦有望以下克上。
赫蒙战败的消息传到狼头佣兵团团长穆蛇的耳中,他命令召集所有五星斗者以上的人员进山搜索萧炎的下落。很快萧炎被发现,与穆蛇的交手中,由于等级悬殊,萧炎被逼到悬崖边上,无奈之下使用了"焰分噬浪尺",虽然穆蛇也受到了伤害,但是萧炎已经无力再进行还击,不得已选择落崖而下,危急时刻之前修习的飞行斗技被动触发,萧炎能否崖下求生,请听下回分解。
二、C++:类与对象:C++程序设计必知:作用域和可见性(六星斗者)
鸡啄米大神讲的很详细,这里我们为初学者缩减一个版本。
作用域要进行划分,那一定要通过一种符号来告诉我们,这种符号就是"{...}"(大括号)。我们发现无论是类、函数,还有命名空间,他们定义自己空间时都是使用的"{...}"(大括号)。如下:
结构体
cpp
struct Monster{
QString name; //名字
int level; //斗之气等级
};
类
cpp
//斗技类
class Skill {
public:
QString name; //斗技名称
};
函数
cpp
template <typename T>
void level_up(T & anyone){
//斗气等级提升
anyone.level = anyone.level + 1;
}
命名空间
cpp
namespace 斗气大陆{
Person xiaoyan;
Person xuner;
}
如果程序里所有变量名称都不同,那没有必要考虑作用域和可见性的问题,之所以要考虑作用域和可见性,是因为有时我们使用到了相同的变量名时,如何让二者之间的不产生冲突。
cpp
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//指定模版类型
Person<double> xiaoyan("xiaoyan",17,8); //萧炎
{
//加了大括号之后,都是xiaoyan,但是不冲突,
//括号内的xiaoyan与括号外的无关系
Person<double> xiaoyan("xiaoyan2",18,9); //萧炎
}
}
关于类空间,一个类内部所有的变量和函数都是在同一个空间内,所以相互可见,比如Person类,但是相对于另外一个类,比如Skill类,Person只能看见Skill类空间中public属性的变量和函数,而看不到Skill类的私有信息。如果想看到Skill的私有类型信息,要通过通过Skill的public属性的成员函数,或者将私有类型改为public属性,代码如下:
cpp
//斗技类
class Skill {
public:
QString name; //斗技名称
private:
//私有类型,其他类看不到
QString type; //类型 天 地 玄 黄
//私有类型
int level //斗技等级,上、中、下
public:
//开放给其他类的信息接口
QString getType(){
return type;
}
};
//定义人的类型,有使用成员函数,则定义为class
template <typename T>
class Person{
//析构函数
public:
~Person(){
qDebug() << name << "的空间准备被释放掉";
}
public:
//自定义的构造函数
Person(QString name, int age, int level){
if(name == "xioayan"){
qDebug() << "开始创建萧炎";
}
else if(name == "xuner"){
qDebug() << "开始创建熏儿";
}
else{
qDebug() << "开始创建" << name;
}
this->name = name;
this->age = age;
this->level = level;
}
public:
QString name; //名字
int age; //年龄
T level; //斗之气等级
//斗技
Skill skill;
public:
//成员函数
template <typename T>
bool fight(Monster monster){
qDebug() << "monster level" << monster.level;
if(this->level > monster.level){
return true;
}
else{
return false;
}
}
};
通过大括号构建的类空间,实现了类与类之间的数据隔离,通过Public属性又可以方便类之间信息的沟通。
三、英语:
先看几个单词:
- space 空间
- isolate 使...隔离
- contact 联系
- visibility 可见性
再看几个句子:
- Can(吗?) Xiao Yan (萧炎)survive(生还) under (在...下面)the(这个) cliff(悬崖)?
- 萧炎能否崖下求生?
under ... 在...下面
under the desk 在桌子下面
under the ground 在地面下面(在地下)