C++ 对象不适用于点运算符

标签 c++ object dot-operator

你好,我正在开发一个 C++ 程序,我刚开始从我创建的类中创建一些示例对象。我正在创建对象,但由于某种原因,点运算符无法使用该对象

这是对象调用

Card testcard(Suit hearts, Value six);

这是构造函数

Card::Card(Suit suit, Value facevalue)
{
Card::suit=suit;
Card::faceValue=facevalue;
};

但是点运算符不起作用,就好像对象不存在一样

我在单独的部分控制大部分程序,所以有很多头文件实例,这是卡类所在的位置,我不确定这是否是问题的一部分

最佳答案

在实例方法中,您不能使用点来访问实例。

试试 this-> 代替:

Card::Card(Suit suit, Value facevalue)
{
    this->suit=suit;
    this->faceValue=facevalue;
};

或者,您可以使用初始化列表:

Card::Card(Suit suit, Value facevalue) : suit(suit), faceValue(facevalue)
    { }

关于C++ 对象不适用于点运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488287/

相关文章:

c++ - 给定进程ID,查找环境变量

c++ - 选择排序比较

C++ - 没有返回语句的程序返回值

c++ - 当调用改变它的成员函数时,c对象成员没有被改变

haskell - haskell中具有多参数函数的点运算符

c++ - 多次同时调用 uv_write 有时不起作用

php - 使用带有对象的 php session 还是访问数据库更好?

java - 在 Java 中将对象转换为字节流的最快方法是什么?

javascript - 动态地将数字添加为现有对象的属性