C++struct裡定義函式
阿新 • • 發佈:2019-02-11
在做一個小的程式題的時候,看到了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; }