正文
昨天讲了this指针,今天讲对象数组。这个就是很类似C语言的结构体数组。学习新东西的时候,要学会往之前学过的东西对比一下。用我高中老师的一句话就是把未知的变成已知的。
对象数组的存在。看代码
#include <iostream>
using namespace std;
const int N=3;
class Line{
public:
int a,b;
};
int main( )
{
Line line[N]={Line(),Line()};//这个构造函数需要自己写,我没写用的系统的构造函数,这样初始化。和其他语言很相似。
return 0;
}
类的作用域和之前C++的内容很相似。我来讲个故事吧。疫情区间,B站上大火的罗翔老师,经常提到张三老师。张三老师也不负众望,让大家知道他的传奇生涯。那么问题就来了。当现实生活中遇到一个叫张三的人,你会认为他是B站上那个张三吗?答案肯定,不会呀。我怎么可能遇到B站上的张三。所以,这里就是地域的问题,也可以说成互不相关的。这里的张三和那里的张三没关系。当两个张三到一起的时候,陌生人也许就不知道真假了,这个陌生人可以看成编译器。当他们相遇在乱世之外,陌生人也许就懵逼了。类也是如此。类数据成员和类成员函数的作用域是类整个类。同时也可看出不同作用域,只要没有直接联系,那么类成员名是可以苟同的。看代码。
代码
#include <iostream>
#include <algorithm>
using namespace std;
class Mark{
public:
Mark(int b);
void get(){
cout<<a<<endl;
}
private://数据隐藏
int a;
};
class Kode{
public:
Kode(int b);
void get(){
cout<<a<<endl;
}
private:
int a;
};
Mark::Mark(int b){//构造函数
a=b;
}
Kode::Kode(int b){//构造函数
a=b;
}
int main (){
Mark tt(2);//初始化
Kode t(2);
tt.get();
t.get();
return 0;
}