初学者提问,关于c++中class的问题

问题描述

初学者提问,关于c++中class的问题

#include using namespace std;enum Type{HOME, OFFICE, FAX, CELL, PAGER};class PhoneNum{public: PhoneNum() { country_code = 0; area_code = 0; num = 0; type = HOME; } PhoneNum(int, int, int, Type); PhoneNum(int, Type); int GetCountryCode() const; int GetAreaCode() const; int GetPhoneNum() const; Type GetType() const; void SetCountryCode(int); void SetAreaCode(int); void SetPhoneNum(int); void SetType(Type); bool Equal(PhoneNum);private: int country_code; int area_code; int num; Type type;};PhoneNum :: PhoneNum(int a, int b, int c, Type t){ a = country_code; b = area_code; c = num; type = t;}PhoneNum :: PhoneNum(int d, Type t1){ num = d; type = t1; country_code = 86; area_code = 20;}int PhoneNum :: GetCountryCode()const{ return country_code;}int PhoneNum :: GetAreaCode() const{ return area_code;}int PhoneNum :: GetPhoneNum()const{ return num;}Type PhoneNum ::GetType()const{ return type;}void PhoneNum ::SetCountryCode(int f){ country_code = f;}void PhoneNum ::SetAreaCode(int g){ area_code = g;}void PhoneNum ::SetPhoneNum(int h){ num = h;}void PhoneNum ::SetType(Type t3){ type = t3;}bool PhoneNum ::Equal(PhoneNum n) { return((country_code == n.country_code) && (area_code == n.area_code) && (num == n.num) && (type == n.type));}
找不出代码问题,可提交了总是答案错误,求大神

解决方案

4处错误:

 ComplexNum :: ComplexNum(double a, double b)
{
    real = a;//修改
    imag = b;//修改
}

void ComplexNum :: divide(ComplexNum c4)
{
    double c = real;
    double d = imag;
    real = (c * c4.real + d * c4.imag) / (c4.real * c4.real + c4.imag * c4.imag);//修改
    imag = (d * c4.real - c * c4.imag) / (c4.real * c4.real + c4.imag * c4.imag);//修改
}

解决方案二:

首先你代码太难看,要学会缩进

解决方案三:

不然没人看你代码,就不会有人找错

解决方案四:

#include
#include

using namespace std;

class ComplexNum
{
public:
ComplexNum()
{
real = 0;
imag = 0;
}
ComplexNum(double, double);
double GetRealPart() const;
double GetImaginaryPart() const;
void add(ComplexNum);
void subtract(ComplexNum);
void multiply(ComplexNum);
void divide(ComplexNum);
void SetRealPart(double);
void SetImaginaryPart(double);
double GetModulus() const;
private:
double real;
double imag;
};

ComplexNum :: ComplexNum(double a, double b)
{
a = real;
b = imag;
}
double ComplexNum :: GetRealPart() const
{
return real;
}
double ComplexNum :: GetImaginaryPart() const
{
return imag;
}
void ComplexNum :: add(ComplexNum c1)
{
real = real + c1.real;
imag = imag + c1.imag;
}
void ComplexNum :: subtract(ComplexNum c2)
{
real = real - c2.real;
imag = imag - c2.imag;
}
void ComplexNum :: multiply(ComplexNum c3)
{
double a = real;
double b = imag;
real = a * c3.real - b * c3.imag;
imag = a * c3.imag + c3.real * b;
}
void ComplexNum :: divide(ComplexNum c4)
{
double c = real;
double d = imag;
real = (c * c4.real + d * c4.imag) / (c4.real * c4.real + cn4.imag * cn4.imag);
imag = (d * c4.real - c * c4.imag) / (c4.real * c4.real + cn4.imag * cn4.imag);
}

void ComplexNum :: SetRealPart(double r)
{
real = r;
}

void ComplexNum :: SetImaginaryPart(double i)
{
imag = i;
}

double ComplexNum :: GetModulus() const
{
return sqrt(real * real + imag * imag);
}

解决方案五:

#include

using namespace std;

enum Type{HOME, OFFICE, FAX, CELL, PAGER};

class PhoneNum
{
public:
PhoneNum()
{
country_code = 0;
area_code = 0;
num = 0;
type = HOME;
}
PhoneNum(int, int, int, Type);
PhoneNum(int, Type);
int GetCountryCode() const;
int GetAreaCode() const;
int GetPhoneNum() const;
Type GetType() const;
void SetCountryCode(int);
void SetAreaCode(int);
void SetPhoneNum(int);
void SetType(Type);
bool Equal(PhoneNum);
private:
int country_code;
int area_code;
int num;
Type type;
};

PhoneNum :: PhoneNum(int a, int b, int c, Type t)
{
a = country_code;
b = area_code;
c = num;
type = t;
}
PhoneNum :: PhoneNum(int d, Type t1)
{
num = d;
type = t1;
country_code = 86;
area_code = 20;
}
int PhoneNum :: GetCountryCode()const
{
return country_code;
}
int PhoneNum :: GetAreaCode() const
{
return area_code;
}
int PhoneNum :: GetPhoneNum()const
{
return num;
}
Type PhoneNum ::GetType()const
{
return type;
}
void PhoneNum ::SetCountryCode(int f)
{
country_code = f;
}
void PhoneNum ::SetAreaCode(int g)
{
area_code = g;
}
void PhoneNum ::SetPhoneNum(int h)
{
num = h;
}
void PhoneNum ::SetType(Type t3)
{
type = t3;
}
bool PhoneNum ::Equal(PhoneNum n)
{
return((country_code == n.country_code) && (area_code == n.area_code)
&& (num == n.num) && (type == n.type));
}

两个答案错误,不知道为什么,求解

解决方案六:

main函数没有呢?代码不全,正确的运行结果是什么?代码放到代码片里。

解决方案七:

main函数没有呢?代码不全,正确的运行结果是什么?代码放到代码片里。

时间: 2024-09-19 12:37:56

初学者提问,关于c++中class的问题的相关文章

java代码-java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的?

问题描述 java初学者提问 在类中 用static成员变量实例化自身类 程序的执行顺序过程是怎样的? class Demo03 { public static void main(String[] args) { A.show(); } } class A { //构造方法 A(){ System.out.println("构造方法执行"); System.out.println(b); System.out.println(c); } static A a=new A(); sta

ocx atl-clsid的定义类型问题(初学者提问)

问题描述 clsid的定义类型问题(初学者提问) const CLSID CLSID_MyClass = {0x562052A7,0xF17C,0x408D,{0x99,0x9C,0xCC,0xF1,0xEB,0x9E,0xE7,0x14}}; MIDL_DEFINE_GUID(CLSID, CLSID_MyClass,0xB035F76C,0xF12D,0x4903,0xAE,0x9A,0x33,0x4D,0x27,0x4A,0xA8,0x5E); CLSID_MyClass 两者的区别是什么

编程-汇编语言初学者提问,求老司机解答

问题描述 汇编语言初学者提问,求老司机解答 想在汇编中实现判断是否输入的为一个数字与a的组合,比如输入的必须为1a.2a.20a之类的.想不到什么好方法,本人初学,求指教 解决方案 根据ascii判断 C的实现 bool foo(char * ch) { int s = 0; while (true) { if (s == 0) { if (*ch >= '0' && *ch <= '9') continue; if (*ch == 'a') s = 1; else retur

初学者提问:c++ 参数列表初始化问题

问题描述 初学者提问:c++ 参数列表初始化问题 #include using namespace std; class c { public: c(int m) :b(m) {}; void display() { cout << b << endl; } private: int & b; }; int main() { c ca(5); ca.display(); return 0; } 不知道为什么,输出了很大的数字 解决方案 把类定义里的int& b改成i

初学者提问: opencv标定问题

问题描述 初学者提问: opencv标定问题 findChessboardCorners中,为什么传进vector> corners进去,回来后它的大小和内容完全不对劲呢?(大小目测是2亿多) 小白没有C币,请大神原谅!

c语言-C语言初学者提问,不会修改程序

问题描述 C语言初学者提问,不会修改程序 可以运行,但是达不到目的,不会修改 程序代码: typedef struct /* 学生结构 / { short status; / 数据状态,0:正常 1:删除 / char number[10]; / 学号 / char name[20]; / 姓名 / char sex[3]; / 性别 / int age; / 年龄 / char place; / 籍贯 / char department; / 系别 / char major; / 专业 / i

初学者求教,C++中在类内声明一个struct和另一个类,在类外怎么定义

问题描述 初学者求教,C++中在类内声明一个struct和另一个类,在类外怎么定义 template class List{ struct Node{}; ... class const_iterator{}; class iterator:public const_iterator{}; ... }; struct Node{ Object data; ... }; 这样定义出现了错误,但不知如何解决.并且模板Object在struct Node为何无法使用? 解决方案 类中定义一个stati

eclipse java-【新手提问】eclipse中添加图片URL,提示空指针怎么解决?

问题描述 [新手提问]eclipse中添加图片URL,提示空指针怎么解决? 如上3图所示,图片放在工程目录下, URL url = SwingAndThread.class.getResource("1.gif"); // 获取图片的URL Icon icon = new ImageIcon(url); // 实例化一个Icon jl.setIcon(icon); // 将图标放置在标签中 这么写的话就会报以下错误: Exception in thread "main&quo

初学者求教,c++中new如何分配数组内存

问题描述 初学者求教,c++中new如何分配数组内存 c++中使用new定义动态数组时,如果数组大小已知,那么会如何分配内存?是在程序运行时按照使用的元素数分配还是按照数组大小一次性分配(和普通数组一样的方式) 解决方案 也是一次性分配,你可以自己测试下,申请完,看它的大小 解决方案二: C++ new内存分配 解决方案三: 运行时肯定已经知道数组的大小了,数组多大就分配多大的内存. 解决方案四: 都可以的. 如果要分配的大小比较大的话,建议用new new还需要你delete,是在堆分配空间