C语言里面不能,在C语言里结构体是一种复合数据类型只能存放数据,不过可以定义一个指向函数的指针进行使用。
C++里可以在结构体内定义函数,用法和class定义类是一样的,说穿了struct 和 class用法相同,但要注意的一点是内,struct默认的是public类型,然而class默认的是private类型的。
#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;
}
联系客服