#include<iostream> using namespace std; class Base { //类中成员默认是private public: Base() { cout<<__LINE__<<":"<<__func__<<endl; } ~Base() { cout<<__LINE__<<":"<<__func__<<endl; } protected: void setval(int val); public: int getval() const; //const修饰的成员函数只能调用const修饰的方法不能调用非const方法,不能修改类的对象,可以修改static成员变量的值 private: int val; static int sval; static char scval; }; char Base::scval='a'; int Base::sval=123; //初始化静态变量 void Base::setval(int val) { this->val=val; } int Base::getval()const { return this->val; } int main() { cout<<"类中的静态变量"<<Base::scval<<"和"<<Base::sval<<endl; Base obj; return 0; }
时间: 2024-03-15 10:41:32 浏览: 126
使用include <iostream>时一定要加using namespace std
这段代码与之前相同,实现了一个名为Base的类,其中包含一个默认的构造函数和析构函数,以及一个int类型的私有成员变量val,一个protected类型的成员函数setval用于设置val的值,一个公有的成员函数getval用于获取val的值。此外,还有两个静态成员变量sval和scval,分别为int类型和char类型,这两个变量可以通过类名直接访问。
在main函数中,首先输出了类中的静态变量的值,然后创建了一个Base类的对象obj,最后返回0。
需要注意的是,该代码中使用了C++11的__func__宏用于输出函数名和__LINE__宏用于输出行号。
阅读全文