|
发表于 2023-11-7 20:03:13
|
显示全部楼层
本楼为最佳答案
这段代码存在一些问题。首先,类成员变量和成员函数的定义应该在类的内部进行,并且类的访问权限应该在类的定义之后进行声明。其次,类中定义了两个相同名称的公共成员变量和成员函数,这是不允许的。最后,在 main 函数中,尝试访问了类中的成员变量和调用成员函数,但是没有考虑到类成员变量的访问权限。
下面是修改后的代码:
- #include <iostream>
- using namespace std;
- class person
- {
- public:
- string m_name;
- void func()
- {
- m_name = "张三";
- m_car = "卡车";
- m_password = 123456;
- }
- protected:
- string m_car;
- private:
- int m_password;
- };
- int main()
- {
- person p1;
- p1.m_name = "李四"; // 此处只能访问public成员
- // p1.m_car = "轿车"; // 无法访问protected成员
- // p1.m_password = 654321; // 无法访问private成员
- p1.func();
- return 0;
- }
复制代码
在这个修改后的代码中,我将类的成员变量和成员函数的定义放置在了正确的位置,并且修复了重复定义的问题。在 main 函数中,我演示了如何访问不同访问权限的成员变量和调用成员函数。 |
|