C++中结构体和C中有点不同的就是,C++中的结构体可以有类似于类那样的方法。
#include
using namespace std;
struct Point{
int i;
int j;
Point(int ii,int jj){//类似于类的构造函数
i=ii;
j=jj;
str=”Point(int,int)”;
}
Point(){
str=”Point()”;
}
Point(int ii){
i=ii;
str=”Point(int)”;
}
int getI(){//类似于类的成员函数
return i;
};
string getStr(){
return str;
}
private://可以通过类似于类的访问控制符来修饰
string str;
};
int main()
{
Point p;//必须有相对应的构造函数,姑且称之为构造函数吧
p.i=1;
p.j=2;
//p.str=”stringOne”;//不能直接符访问
string s=p.getStr();
cout<<s<<endl;
int k=p.getI();
cout<<k<<endl;
Point pp(3,4);
int kk=pp.getI();
cout<<kk<<endl;
Point ppp(5);
int kkk=ppp.getI();
cout<<kkk<<endl;
ppp.i=15;
kkk=ppp.getI();
cout<<kkk<<endl;
}
执行结果: 区别在于:结构体中的成员的默认访问属性都是public,而在类中则是private: 也可以利用默认初始化器的方式初始化,例如:
Point(int ii):i(ii){
//i=ii;
str=”Point(int)”;
}
这样也是可以的。
—————————————————————————————————————————————————— //写的错误或者不好的地方请多多指导,可以在下面留言或者给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。 转载请注明出处:https://www.royalchen.com/ author:royalchen Email:royalchen@royalchen.com ———————————————————————————————————————————————————
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2016/02/24/c学习笔记15,结构体中的方法/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!