基础知识理解不到位,不能解决问题,求神回复《关于构造函数》

weixin_36747231 2017-01-13 02:11:07
注:::如果你不能写出过程,只动嘴说:那就请你不要说话了 ,我也不会给你分的,只有写出全部的过程【在原代码的基础上写出正确的代码,方便理解】,并且程序能运行,【这块知识难理解基础差,需要手把手教】我不浪费你的时间,你也别浪费我的分,会的教我,谢谢!!不是太懂的,或者不愿意写详细过程的,请绕过!!!
#include "stdafx.h"
#include<iostream>
#include"Person.h"
using namespace std;
class CPerson
{
public:
CPerson();
CPerson(int ilndex,short m_shAge,double m_dSalary);

int m_ilndex ;
short m_shAge ;
double m_dSalary;
int getlndex();
short getAge();
double getSalary();

};
CPerson::CPerson(int ilndex,short m_shAge,double m_dSalary)
{
m_ilndex=ilndex;
m_shAge=m_shAge;
m_dSalary=m_dSalary;
}
CPerson::CPerson(Cperson & copyPerson)
{
m_ilndex=copyPerson.m_ilndex;
m_shAge=copyPerson.m_shAge;
m_dSalary=copyPerson.m_dSalary;
}
short CPerson::getAge()
{
return m_shAge;
}
int CPerson::getlndex()
{
return m_ilndex;
}
double CPerson::getdSalary()
{
return m_dSalary;
}

int _tmain(int argc, _TCHAR* argv[])
{
CPerson p1(20,30,100);
CPerson p2(p1);
cout<<"m_ilndex of p1 is:"<<p2.getlndex()<<endl;
cout<<"m_shAge of p1 is:"<<p2.getAge()<<endl;
cout<<"m_dSalary of p1 is:"<<p2.getdSalary()<<endl;
cout<<"m_ilndex of p2 is:"<<p2.getlndex()<<endl;
cout<<"m_shAge of p2 is:"<<p2.getAge()<<endl;
cout<<"m_dSalary of p2 is:"<<p2.getdSalary()<<endl;
return 0;
}
++++++++++++++++++++++
1>------ 已启动生成: 项目: 复制构造函数, 配置: Debug Win32 ------
1>未找到项目文件“d:\documents\visual studio 2012\Projects\复制构造函数\复制构造函数\复制构造函数.vcxproj”。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
...全文
145 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_36747231 2017-01-14
  • 打赏
  • 举报
回复
@Format_CIH:不写过程不讲解,不给分,你很闲吗??
Format_CIH 2017-01-14
  • 打赏
  • 举报
回复
这年头问个问题都这么霸气。佩服佩服。 感觉程序没问题。是不是中文目录的问题,你给目录名改成英文试试。
ooolinux 2017-01-14
  • 打赏
  • 举报
回复
double CPerson::getdSalary() 拼错了 应该 getSalary()
weixin_36747231 2017-01-14
  • 打赏
  • 举报
回复
编译器报错位置:如图:

#include "stdafx.h"
#include<iostream>
using namespace std;
class CPerson
{
public:
CPerson(int ilndex,short shAge,double dSalary);
CPerson(CPerson ©Person);
int m_ilndex ;
short m_shAge ;
double m_dSalary;
int getlndex();
short getAge();
double getSalary();
};
CPerson::CPerson(int ilndex,short shAge,double dSalary)
{
m_ilndex=ilndex;
m_shAge=m_shAge;
m_dSalary=dSalary;
}
CPerson::CPerson(CPerson & copyPerson)
{
m_ilndex=copyPerson.m_ilndex;
m_shAge=copyPerson.m_shAge;
m_dSalary=copyPerson.m_dSalary;
}
short CPerson::getAge()
{
return m_shAge;
}
int CPerson::getlndex()
{
return m_ilndex;
}
double CPerson::getdSalary()
{
return m_dSalary;
}

int _tmain(int argc, _TCHAR* argv[])
{
CPerson p1(20,30,100);
CPerson p2(p1);
cout<<"m_ilndex of p1 is:"<<p2.getlndex()<<endl;
cout<<"m_shAge of p1 is:"<<p2.getAge()<<endl;
cout<<"m_dSalary of p1 is:"<<p2.getdSalary()<<endl;
cout<<"m_ilndex of p2 is:"<<p2.getlndex()<<endl;
cout<<"m_shAge of p2 is:"<<p2.getAge()<<endl;
cout<<"m_dSalary of p2 is:"<<p2.getdSalary()<<endl;
return 0;
}

这个是改正后的代码,只有这3个小问题,求高手指点一二、
1>d:\documents\visual studio 2012\projects\vy\vy\vy.cpp(41): error C2065: “m_dSalary”: 未声明的标识符
1>d:\documents\visual studio 2012\projects\vy\vy\vy.cpp(50): error C2039: “getdSalary”: 不是“CPerson”的成员
1> d:\documents\visual studio 2012\projects\vy\vy\vy.cpp(8) : 参见“CPerson”的声明
1>d:\documents\visual studio 2012\projects\vy\vy\vy.cpp(53): error C2039: “getdSalary”: 不是“CPerson”的成员
1> d:\documents\visual studio 2012\projects\vy\vy\vy.cpp(8) : 参见“CPerson”的声明
weixin_36747231 2017-01-14
  • 打赏
  • 举报
回复
@Format_CIH,哥哥,别发闲言碎语了,帮我解决问题,给你分,okay ??

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧