代码实践
-
main.cpp
#include <iostream> using namespace std; #include "Person.h" int main() { Person::display_add(); //静态成员函数可以当成普通函数调用,只是需要class scope运算符 Person::display(); Person A(18, "hehe"); A.display_name(); A.display_add(); system("pause"); return 0; }
-
Person.h
#pragma once #include <iostream> using namespace std; #include <string> class Person { public: Person(int age, string name) :_age(age), _name(name) {}; //static void display_name(); //错误,因为该函数访问了 non-static member void display_name(); static void display_add(); //正确,因为该函数没有访问 non-static member static void display(); //正确,因为该函数没有访问 non-static member private: int _age; string _name; //static string _address = "china"; //错误 这种static必须在程序代码文件中提供定义 static string _address; static const int sex = 5; //const static int data member可以在声明时指定初值() };
-
Person.cpp
#include "Person.h" string Person::_address = "china"; //这里也不需要加上static关键字 但是需要class scope运算符 void Person::display_name() { cout << _name << endl; } void Person::display_add() //这里也不需要加上static关键字 { cout << _address << endl; } void Person::display() { cout << "hello world" << endl; }
今天是20200319 今儿中午的红烧肥肠味道好极了😋