C语言
C语言里面不能,在C语言里结构体是一种复合数据类型只能存放数据,不过可以定义一个指向函数的指针进行使用。
C++(C++并发编程多体现)
C++里可以在结构体内定义函数,用法和class定义类是一样的,说穿了struct 和 class用法相同,但要注意的一点是内,struct默认的是public类型,然而class默认的是private类型的。
下面有一个C++结构体定义函数的小例子,大家可以试一试
#include<iostream> #include<string> using namespace std; struct Person { Person(string name); string greet(string other_name); string m_name; }; Person::Person(string name) { m_name = name; } string Person::greet(string other_name) { return "Hi " + other_name + ", my name is " + m_name; } int main() { Person m_person("大壮"); string str = m_person.greet("喜子"); cout<<str<<endl; }