C++中结构体和C中有点不同的就是,C++中的结构体可以有类似于类那样的方法。
#include <iostream> 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):<span style="color:#ff0000;">i(ii)</span>{ //i=ii; str="Point(int)"; }
这样也是可以的。
——————————————————————————————————————————————————
//写的错误或者不好的地方请多多指导,可以在下面留言或者给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。
转载请注明出处:https://www.royalchen.com/
author:royalchen
Email:royalchen@royalchen.com
———————————————————————————————————————————————————