C++从入门到起飞之——初始化列表&类型转换&static成员 全方位剖析!
#include <iostream>
class MyClass {
public:
MyClass(int x, double y) : _x(x), _y(y) {
// 使用初始化列表来初始化成员变量
}
void display() const {
std::cout << "x: " << _x << ", y: " << _y << std::endl;
}
private:
int _x;
double _y;
};
int main() {
MyClass obj1(5, 3.2); // 正确:直接使用相应类型的参数
obj1.display();
MyClass obj2 = {7, 9.1}; // 错误:初始化列表不支持复制初始化
// obj2.display();
MyClass obj3 = MyClass(11, 12.3); // 正确:使用显式构造函数
obj3.display();
MyClass* obj4 = new MyClass(13, 14.4); // 正确:使用new动态分配对象
obj4->display();
delete obj4;
// 静态成员变量的使用
MyClass::showStaticMember();
return 0;
}
class MyClass {
public:
static int staticMember;
MyClass(int x) {
staticMember = x; // 使用静态成员
}
static void showStaticMember() {
std::cout << "Static Member: " << staticMember << std::endl;
}
};
int MyClass::staticMember = 0; // 静态成员变量的定义
这个代码示例展示了如何在C++中使用初始化列表来初始化类的成员变量,如何使用new运算符动态分配对象,以及如何使用静态成员变量和方法。同时,它也说明了如何正确和错误地使用初始化列表,以及如何处理类的静态成员。
评论已关闭