c++ 结构体内声明函数

c++里可以在结构体内定义函数,用法和class定义类是一样的,说穿了struct 和 class用法相同,但要注意的一点是,struct默认的是public类型,而class默认的是private类型的
例如:
struct matrix_3x3
{
  float matrix[9];

  static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2);
  static matrix_3x3 create_look_at(vector_3 target, vector_3 up);
  static matrix_3x3 create_inverse(matrix_3x3 original);
  static matrix_3x3 transpose(matrix_3x3 original);

  void set_to_identity();
};

则在结构体matrix_3x3中声明的5个函数都是public型,前四个返回值类型是matrix_3x3型的结构体,而机构体中只有matrix[9]是变量,所以返回值是float型的数组指针。

posted on 2017-05-08 15:33  枪眼  阅读(1277)  评论(0)    收藏  举报

导航