gpt4 book ai didi

c++ - 不匹配运算符 <<(操作数类型 std::ostream)c++ OOP 和 Point

转载 作者:太空狗 更新时间:2023-10-29 20:13:14 25 4
gpt4 key购买 nike

<分区>

我正在尝试显示我通过成员函数创建的 Point 类的 p 对象。我在程序的 void displayPoint(Point p) 成员函数中将 Point p 作为参数传递。但是我的程序出现以下编译错误!

D:\OOP 赋值 # 01\point.cpp[错误] 'operator<<' 不匹配(操作数类型是 'std::ostream {aka std::basic_ostream}' 和 '点')

下面是我的代码!!!

#ifndef POINT_H
#define POINT_H

using namespace std; // For string usage

class Point
{
public:
Point(); // Default Constructor
Point(double, double, int); // Three argument constructor
void initialize(double, double, int);
void shift(Point p, int keyPress); // Shift the first point

void setValue(int value);
int getValue() const;
void setX();
double getX() const;
void setY();
double gety() const;

void AddPointValue(Point p2); /*This function add the TWO points
successfully reach on second true point co-ordinates*/

void displayPoint(Point p); //This will use to display value
bool checkCoordinates();
bool checkTime(); // Check time remaining
private:
double x;
double y;
int value;

};

#endif

实现文件

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <string>
#include <time.h>
#include <stdio.h>
#include "point.h"

using namespace std;

Point::Point() // Default Constructor
{
x = 0.0;
y = 0.0;
value = 0;
}
Point::Point(double x1, double y1, int value1){
x = x1;
y = y1;
value = value1;

}

void Point::initialize(double init_x, double init_y, int init_value)
{
x = init_x;
y = init_y;
value = init_value;
}

void Point::shift(Point p, int keyPress){
Point maxSize;
Point minSize;
maxSize.x=80;
maxSize.y=40;
switch(keyPress)
{
case (VK_LEFT): // increment the x coord
p.x += 1;
if(p.x < minSize.x) p.x = minSize.x;
break;
case (VK_RIGHT): // decrement the x coord
p.x -= 1;
if(p.x > maxSize.x) p.x = maxSize.x;
break;
case (VK_UP): // decrement the y coord
p.y -= 1;
if(p.y < minSize.y) p.y = minSize.y;
break;
case (VK_DOWN): // increment the y coord
p.y += 1;
if(p.y > maxSize.y) p.y = maxSize.y;
break;
}

void Point::setValue(int value){
value = 0;
}

int Point::getValue() const{
return value;
}


void Point::setX(){
x = 0.0;
}

double Point::getX() const{
return x;
}

void Point::setY(){
y = 0.0;
}
double Point::gety() const{
return y;
}

void Point::displayPoint(Point p){
cout << p; // ERROR OCCURING HERE!!!
}

void Point::AddPointValue(Point p2){
}

bool Point::checkTime(){
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com