前言:在类和对象中,我们走过了十分漫长的道路,今天我们将进一步学习类和对象,类和对象这块荆棘地很长,各位一起加油呀。
💖 博主CSDN主页:卫卫卫的个人主页 💞
👉 专栏分类:高质量C++学习 👈
💯代码仓库:卫卫周大胖的学习日记💫
💪关注博主和博主一起学习!一起努力!
目录标题
- 类和对象
- const修饰成员函数
- 再谈构造函数之函数体赋值
- explict关键字
- static成员
类和对象
const修饰成员函数
在C++中,可以使用const关键字来修饰成员函数。const修饰符可以被应用于类的成员函数,这表示该函数不会修改任何类的成员变量。
当一个成员函数被const修饰时,它被称为常量成员函数。常量成员函数承诺不会修改任何成员变量。常量成员函数的定义和声明都必须包含const关键字。
语法格式:
返回类型 类名::函数名()const { //函数体 ... ... }
下面是一个示例:
class MyClass { public: void nonConstFunction(int year,int month ,int day); // 非常量成员函数 void nonConstFunction() const; // 常量成员函数 private: int _day; int _month; int _year; }; void MyClass::nonConstFunction(int year = 1,int month = 1 ,int day =1) { // 对成员变量进行修改 _year = year; _month = month; _day = day; } void MyClass::nonConstFunction() const { // 不对成员变量进行修改 cout public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } private: int _year; int _month; int _day; }; public: A(int a) :_a(a) { cout public: d(int a, int b, int c) :_aa(a), _b(b), _c(c) { cout d d1(10, 20, 30); return 0; } private: int value; public: explicit Number(int value) : value(value) {} int getValue() const { return value; } }; void printNumber(const Number& number) { std::cout int intValue = 10; // 隐式类型转换不被允许 // Number number = intValue; // 显式类型转换 Number number = Number(intValue); printNumber(number); return 0; } public: static int staticData; // 声明静态数据成员 int unstaticData = 10; //声明并初始化非静态成员 }; int MyClass::staticData = 0; // 初始化静态数据成员 int main() { MyClass obj1; MyClass obj2; obj1.staticData = 5; cout public: static void StaticFunction()//静态成员函数 { cout cout MyClass d1; MyClass::StaticFunction(); // 输出: Static Function d1.UnstaticFunction(); //输出: UnStatic Function return 0; }