在做一个小的程序题的时候,看到了struct中定义了函数,之前没有看到过,所以查了一点相关的知识,在这里记录一下:
c++中允许在结构体当中定义函数,它的用法和类的用法很像,不过与类有一个区别在于,struct中定义的函数和变量都是默认为public的,但class中的则是默认为private。
#include<iostream>
#include<string>
struct Person
{
Person(std::string name);
std::string greet(std::string other_name);
std::string m_name;
};
Person::Person(std::string name)
{
m_name = name;
}
std::string Person::greet(std::string other_name)
{
return "Hi " + other_name + ", my name is " + m_name;
}
int main()
{
Person m_person("JANE");
std::string str = m_person.greet("JOE");
std::cout<<str<<std::endl;
}