c++静态成员

2022-11-22  本文已影响0人  arkliu
#include <iostream>
#include<string>
using namespace std;

class Person{
    public:
        string m_name;
        static int    m_age;
        Person(string name, int age) {
            m_age = age;
            m_name = name;
            cout <<"调用了Person()有参构造函数"<<endl;
        }

        ~Person() {
            cout <<"调用了~Person()析构函数"<<endl;
        }
        void showname() const {
            cout <<"姓名:"<<m_name<<endl;
        }

        static void showage() {
            cout <<"年龄:"<<m_age <<endl;
        }
};

int Person::m_age = 33; // 初始化类的静态成员变量,并赋初始值,必须放在全局区

int main() {
    //静态对象的成员可以通过类名直接访问
    cout<<"m_age="<<Person::m_age<<endl;

    //静态成员变量,不用创建对象,也可以直接通过类名直接访问
    Person::showage();

    const Person per2("李四", 30);
    per2.showage();
    per2.showname();
    return 0;   
}


image.png
上一篇 下一篇

猜你喜欢

热点阅读