c++类外定义

1、

#include <iostream>
#include <string>
#include<stdlib.h>
using namespace std;
class Teacher
{
public:
    void setName(string _name);
	string getName();
	void setGender(string _gender);
	string	getGender();
	void setAge(int _age);
	int getAge();
	void teach();
private:
string m_strName;
string  m_Gender;
int m_iAge;
};
void Teacher::setName(string _name)
{
	 m_strName=_name;
}
string Teacher::getName()
{
	return m_strName;
}
void Teacher::setGender(string _gender)
{
m_Gender=_gender;
}
string	Teacher::getGender()
{
	return m_Gender;
}
void Teacher::setAge(int _age)
{
	m_iAge =_age;
}
int Teacher::getAge()
{
	return m_iAge;
}
  void Teacher::teach()
{
cout<<"上课了 上课啦"<<endl;

}
int main()
{
    Teacher t;
	t.setName("孔子");
	t.setGender("男");
	t.setAge(31);

	cout<<t.getName()<<endl<<t.getGender()<<endl<<t.getAge()<<endl<<endl;
	t.teach();
	system("pause");
	return 0;
}

运行结果:

主要就是先在类内部进行声明,然后就是在类外进行定义。注意定义的时候的格式:

类名Teacher::+函数  代表这个函数是该类中的数据成员
时间: 2024-11-14 10:14:53

c++类外定义的相关文章

[基础] 模板+友元类外定义

下面这种定义方式会报错: Undefined symbols for architecture x86_64 template <typename T> class longint{ public: T num; longint (T a = 0) { num = a; } friend ostream& operator<< (ostream& out, const longint<T>& Lint); ~longint (){ ; } pri

c++学习笔记之基础---类内声明函数后在类外定义的一种方法

在C++的“类”中经常遇到这样的函数, 返回值类型名 类名::函数成员名(参数表){ 函数体.} 双冒号的作用 ::域名解析符!返回值类型名 类名::函数成员名(参数表) { 函数体. } 这个是在类内声明函数后在类外定义的一种方法!如果不加"类名::"的话,编译系统就不会知道你的函数属于哪个类;另外,这样定义函数一定要在类中声明之后,说明它是类的成员函数才可以!在类内声明的时候就不需要::了,直接 返回值类型 函数名(参数表) 就可以了!

如何利用c++编写不能被继承、但可以在类外定义对象的类

1 #include <iostream> 2 #include<string> 3 #include<map> 4 #include<vector> 5 #include"thread_pool.h" 6 7 8 using namespace std; 9 template<class T> 10 class base{ 11 friend T;/// friend class 12 private: 13 base(){

C++类的成员函数(在类外定义成员函数、inline成员函数)

类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中.它可以被指定为private(私有的).public (公用的)或protected(受保护的). 在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数).例如私有的成员函数只能被本类中的其它成员函数所调用,而不能被类外调用.成员函数可以访问本类中任何成员(包括私有的和公用的),可

C++ 中模板类的模板成员函数在类外定义

因为很多书都没讲到这种情况, 曾经有这个问题但一直没答案,所以我一直以为模板类的模板成员函数只能在类内定义,直到我在某个开源代码里看到原来要加两个 template<>  ............ (T_T) template<typename T1> class MyObjectT { public: template<typename T2> void Foo(T2 v); }; template<typename T1> template<typ

同文件类外定义

#include <iostream> #include <string> using namespace std; class teacher{ public: void setName(string _name); string getName(); void setGender(string _gender); string getGender(); void teach(); private: string strName; string strGender; }; voi

类的定义与对象的创建.

类的定义与对象的创建 1.实验目的         (1)理解并学会使用类,并创造合适的对象 (2)掌握在什么场景下需要使用 类 2.实验内容 类的定义.类成员的访问控制.对象.类的成员函数 3.实验过程 3.1类和对象 Part1.应用场景 类是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐蔽. 在面向对象程序设计中,程序模块是由类构成的.类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述. Part2.定义及代码 3.1.1类的定义 class 类名称 { public:

C++学习之路: class类外的成员函数定义 和 友元 的讨论

引言:成员函数定义在类内和类外的区别在于是否内联展开. 定义在类内一般都是内联展开的, 节省了调用函数的开销.如果函数体过于庞大,编译器会忽视内联建议 如果定义在类外,需要在类内声明,则程序运行时 是采用调用的方式 访问该函数,是非内联的方式. 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 using namespace std; 5 6 class Student 7 { 8 publi

初学C++-----------------类的定义

类的定义 类是用户自定义的数据类型,类定义包含了类说明和类实现两部分,其中,说明部分给出了该类所有数据成员和函数成员的描述,而实现部分给出了所有函数成员的实现代码.其一般形式如下: class 类名 { private: 数据成员或/和函数成员 protected: 数据成员或/和函数成员 public: 数据成员或函数成员 <以关键字friend开头的友元说明> }: <各函数成员的实现代码> 其中,函数成员的实现代码也可以放在类内,此时为内联函数,若放在类外,定义语法为: 返回