小编use*_*877的帖子

无法访问“Soldier”类中声明的私有成员

我是 OOP 新手,我不明白如何将参数传递给类。

班级声明:

class Soldier
{
    Soldier(int SetHealth, int SetStrength);

private:
    int health;
    int strength;

public:
    void attacked();
    void healed();
    int getHealth();
    int getStrength();
};
Run Code Online (Sandbox Code Playgroud)

构造函数的定义:

    Soldier::Soldier(int SetHealth, int SetStrength):
        health(SetHealth),
        strength(SetStrength)
    {

    }
Run Code Online (Sandbox Code Playgroud)

当我尝试将参数传递给类时,它会这样说:

    1>------ Build started: Project: ConsoleApplication6, Configuration: Debug Win32 ------
    1>  ConsoleApplication6.cpp
    1>c:\users\user\documents\visual studio 2012\projects\consoleapplication6\consoleapplication6\consoleapplication6.cpp(11): error C2248: 'Soldier::Soldier' : cannot access private member declared in class 'Soldier'
    1>          c:\users\user\documents\visual studio 2012\projects\consoleapplication6\consoleapplication6\soldier.h(7) : see declaration of 'Soldier::Soldier'
    1>          c:\users\user\documents\visual studio 2012\projects\consoleapplication6\consoleapplication6\soldier.h(6) : see declaration of 'Soldier' …
Run Code Online (Sandbox Code Playgroud)

c++ oop constructor private class

2
推荐指数
1
解决办法
3万
查看次数

标签 统计

c++ ×1

class ×1

constructor ×1

oop ×1

private ×1