c++初学者,如图,分段函数编程?

如题所述

对于C++类,一些关键字只要写在.h中就好,cpp中就不用再加上了,比如virtual、static等关键字,如果再cpp中多写,编译器会报错。比如如下的虚接口与静态成员变量的定义,只要在头文件中声明就可以了。
class shape
{
virtual Draw();
//...
static int nLevel;
}
2、函数参数的默认值写到函数实现中了
带有参数默认值的函数,默认值是加在函数声明处的,函数实现处的参数是不需要带上的。为了方便查看代码,在函数实现处的参数中,将默认值注释起来。正确的做法是,头文件中有默认值:
BOOL CreateConf( const CString& strConfName, const BOOL bAudio = FALSE );
在函数实现处的参数中不用添加默认值:
BOOL CreateConf( const CString& strConfName, const BOOL bAudio/* = FALSE*/ );
{
// ......
}
3、在编写类的时候,在类的结尾处忘记添加";"分号了
在类的结尾处忘记添加分号,编译会报错,新人们有可能找了半天也没找出引起编译错误的原因。其实很简单,在类的结尾处忘记添加分号了。
class Shape
{
// ...
};
4、只添加了函数声明,没有函数实现
在添加类的函数时,只在类的头文件中添加了函数声明,但在cpp中却没有添加函数的实现。如果其他地方调用到该函数,在编译链接的时候会报 unresolved external symbol错误。因为没有实现,所有没有供链接使用的obj文件。
5、cpp文件忘记添加到工程中,导致没有生成供链接使用的obj文件
在添加C++类时,我们一般会添加.h头文件和一个.cpp源文件。结果忘记把.cpp文件添加到工程中了,即没有参与编译,没有生成供链接使用的obj文件。如果有代码调用到该C++类的接口,则在编译链接的时候会报 unresolved external symbol错误,即链接不到该C++类对应的接口。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-25

#include<iostream>

using namespace std;

int main()

{ double x,y;

  cin>>x;

  if(x<0&&x!=-3)y=x*x+x-6;

  else if(x>=0&&x<10&&x!=2&&x!=3)y=x*x-5*x+6;

  else y=x*x-x-1;

  cout<<y<<endl;

  return 0;

}

相似回答