以前没怎么关注过这个点,记录一下
http://blog.csdn.net/ucasliyang/article/details/52691619
在做一个小的程序题的时候,看到了struct中定义了函数,之前没有看到过,所以查了一点相关的知识,在这里记录一下:
c++中允许在结构体当中定义函数,它的用法和类的用法很像,不过与类有一个区别在于,struct中定义的函数和变量都是默认为public的,但class中的则是默认为private。
http://blog.csdn.net/devil_2009/article/details/6871324
原来C++中struct也有构造函数与析构函数,也可以有访问类型控制,可以用private关键字。如下所示:
- <span style="font-size:16px;"><strong>#include<iostream>
- #include<ostream>
- struct point
- {
- public:
- point():x_(0.0),y_(0.0)
- {
- std::cout<<"default constructor\n";
- }
- point(double x,double y):x_(x),y_(y)
- {
- std::cout<<"constructor("<<x<<", "<<y<<")\n";
- }
- ~point()
- {
- std::cout<<"default destructor\n";
- }
- double get_x()
- {
- return x_;
- }
- double get_y()
- {
- return y_;
- }
- private:
- double x_;
- double y_;
- };
- int main()
- {
- point pt;
- std::cout<<pt.get_x()<<"\n";
- std::cout<<pt.get_y()<<"\n";
- } </strong></span>
- <strong>default constructor
- 0
- 0
- default destructor</strong>