成员函数声明与定义

在C++中函数有声明部分和定义部分,这样可以更清晰的阅读程序,在一个类的内部声明函数,在类的外部写函数的实现。

不然就会报错。

#include<iostream.h>
class Humn{

private :
	int height;
public :
	void set_height(int h);
	int show();

};

void Humn::set_height(int h){

	if(h>0 && h<100)
	{
		height = h;
	}else{

		cout<<"输入的数值不正确";
	}

}

int Humn::show(){

	return height;

}

int main()
{
	Humn mike;
	mike.set_height(60);
	cout<<mike.show();
	cout<<"\n";
	Humn jack;
	jack.set_height(50);
	cout<<jack.show();

	return 0;
}

  

时间: 2024-12-19 19:29:05

成员函数声明与定义的相关文章

C++函数声明和定义

声明是告诉编译器一些信息,以协助编译器进行语法分析,避免编译器报错.而定义是告诉编译器生成一些代码,并且这些代码将由连接器使用.即:声明是给编译器用的,定义是给连接器用的.这个说明显得很模糊,为什么非要弄个声明和定义在这搅和?那都是因为C++同意将程序拆成几段分别书写在不同文件中以及上面提到的编译器只从上朝下编译且对每个文件仅编译一次. 编译器编译程序时,只会一个一个源文件编译,并分别生成相应的中间文件(对VC就是.obj文件),然后再由连接器统一将所有的中间文件连接形成一个可执行文件.问题就是

Scala函数声明与定义

语法:Dcl ::= ?def? FunDclFunDcl ::= FunSig : TypeDef ::= ?def? FunDefFunDef ::= FunSig [?:? Type] ?=? ExprFunSig ::= id [FunTypeParamClause] ParamClausesFunTypeParamClause ::= ?[? TypeParam {?,? TypeParam} ?]?ParamClauses ::= {ParamClauses} [[nl] ?(? ?

php类成员函数二次定义,动态定义类成员函数

应用场景:1.动态载入类成员(一些swoole框架,修改的代码需要重载服务器,可以动态多次载入扩展函数文件)2.团队开发写同一个文件的避免冲突,自己单独可以一个扩展文件:3.一个类的代码太多太多,将一些成员函数分解到多个文件中: <?phpclass user{static $funcs=array(); static function ext($method,$func){self::$funcs[$method]=$func;}//调用一个不存在的方法 function __call($fu

C++11类内static成员变量声明与定义

众所周知,将一个类内的某个成员变量声明为static型,可以使得该类实例化得到的对象实现对象间数据共享. 在C++中,通常将一个类的声明写在头文件中,将这个类的具体定义(实现)写在cpp源文件中. 因此,就引出了static成员变量的声明与定义问题: 1. 如果一个类内成员变量是static的,且需要将之设定为常量(const),那么这个变量声明与初始化均可写在头文件内. 举个例子: 1 // Scanner.hpp 2 class Scanner { 3 public: 4 const sta

C语言的函数声明,定义,调用以及exit退出

1 #include <stdio.h> 2 #include <stdlib.h> 3 void singing(); 4 int main() 5 { 6 singing(); 7 system("pause"); 8 } 9 10 void singing() 11 { 12 printf("after party~after party~我已然赶不上地铁\n"); 13 } 上述代码段是一个C语言函数的声明过程,首先要声明一个函数(第

c++中成员函数指针数组定义和初始化方法

实际项目中经常遇到很多类似操作,比如命令码对应执行函数等,对于此类操作,比较好的方式是使用const数组,将命令码和操作函数绑定在一起,通过查表方式找到操作函数,并执行操作函数.这样可以简化代码,降低复杂度,在c中这种方式很好实现,在c++中会稍微麻烦一些. 以串口命令解析执行为例,首先定义一个结构体,定义操作函数的指针类型: struct T_ShellInfo { string cmd; void (* DealFunc)(const vector<string> &vectStr

函数声明和定义 函数调用 行参实參

1. 函数的定义 返回值类型  函数名(形式参数) { 语句 return 返回值: } 函数的返回值称为函数的值,只有通过return返回给主调函数 一个函数只能有一个返回值 函数没有返回值也可以通过return返回到主调函数 return后面的语句不再执行 2. 函数调用 3. 行参实參 行参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用 实參出现在主调函数中,进入被调函数后,实參变量也不能使用. 行参和实參的功能是做数据传送,发生函数调用时,主调函数把实參的值传送给被调函

关于声明、定义、前向声明、include、循环依赖、普通友元函数、友元类、友元成员函数的总结

做<C++ Primer>(第5版)253页练习题7.3.4有感,故总结之 1 声明 1.1 变量和函数的声明 常见的声明是声明一个变量或函数,一般在头文件.h中声明,例如: pos cursor = 0; // 给定初始值 char get(pos r, pos col) const; 1.2 类的声明 对于一个类,一般是直接在头文件中直接写 class ClassName { ... },这称之为类的定义,然后在类体{...}中又声明或定义了成员变量和成员函数.类的声明是没有类体,只有个类

C语言,函数的声明与定义

函数声明与定义 变量: 在讲变量前,先讲一下变量的声明和定义这两个概念. 声明一个变量,意味着向编译器描述变量的类型,但不为变量分配存储空间. 定义一个变量,意味着在声明变量的同时还要为变量分配存储空间,在定义变量的同时为变量初始化. 局部变量:通常只定义不声明. 全局变量:通常在源文件中定义,在头文件中声明. 在一个函数内部定义的变量成为局部变量,它在本函数内有效. 函数中的局部变量,如果不定义类型,其缺省是自动变量auto, 例如:int a,b=2; 其等价于auto int a,b =