c++中类构造函数如何在多文件声明定义?我在头文件中声明,在另一个cpp文件定义,vc报错? 比如

c++中类构造函数如何在多文件声明定义?我在头文件中声明,在另一个cpp文件定义,vc报错?
比如://head.h
class person{
int a;
public:
person(int a = 0);

}
//other.cpp
person::person(int a)
{
*this.a = a;
}

head.h

class person{
int a;
public:
person(int a = 0);

//} -->缺分号
};

head.cpp

#include "head.h"//引用头文件

person::person(int a)
{
//*this.a = a;
(*this).a = a;//或this->a = a;
}

main.cpp

#include <iostream>
#include "head.h"

int main(){
person p(1);

system("pause");
return 0;
}

追问

额 这是我用手机写的,在电脑上没有这些错误,我就是想问一下构造函数如何在多文件中声明定义

追答

构造函数只能定义一次,若你想讲构造函数的声明定义在不同的文件,只需在要定义的文件中include,该构造函数声明的文件即可。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-19
class定义结尾每家分号,应该(*this).a或者this->a。这和分不分文件没关系啊追问

额 这是我用手机写的,在电脑上没有这些错误,我就是想问一下构造函数如何在多文件中声明定义

追答

你忘在cpp 里包含定义类的头了吧……

c++中类构造函数如何在多文件声明定义?我在头文件中声明,在另一个cpp...
head.h class person{int a;public:person(int a = 0);\/\/} -->缺分号};head.cpp include "head.h"\/\/引用头文件person::person(int a){\/\/*this.a = a;(*this).a = a;\/\/或this->a = a;}main.cpp include <iostream>#include "head.h"int main(){person p(1);system("pause...

C++中如何在多文件的类中声明全局静态变量,使其在整个工程区中都能...
既然你想整个工作区都用那个变量,你就放到一个全局文件中,在.cpp中声明,在.h中加入extern声明,想使用该变量的时候,引用该文件就行,如果非要放到类里,你看看这个类构造的合适么?即这个构建这个类的功能是什么,这个变量是必须的么?需要暴露么?再者可以在构造函数中将此变量付给该类的变量 ...

c++中的析构函数如何在类内声明,在类外定义
myClass {private: \/\/...public: myClass();\/\/构造函数 ~myClass();\/\/析构函数};\/\/类声明完毕myClass::~myClass() { \/\/ 析构函数在体外给出\/\/...}myClass::给出析构函数所属。

c++中构造函数可以在类外定义吗
可以在类外定义的。实际写较大一些的程序一般是这样做的:建立一个头文件,里面是类的定义,一些常量和变量的定义,然后再对应的cpp文件中进行实现。

C++构造函数的定义
定义函数都是放在头文件.h的,而实现是可以放头文件.h,也可以放在.cpp文件的。一般来说是用函数声明,函数实现来表述的,而函数定义是等于函数声明的。\/\/ Test.hclass Test{ void print(); \/\/ 声明};\/\/ Test.cppvoid Test::print() \/\/ 实现{ printf("Hello world!");}\/\/ Test2....

vc .h文件和.cpp文件怎么写?
C++中,一般把类的定义放到头文件(.h)中,把类的实现放到源文件(.cpp)中,所以,一般在C++中,一个类一般需要一个与类同名的头文件和一个源文件。比如定个一个类 Sample,类中定个一个私有成员变量,和两个公共成员函数,有如下代码:\/\/Sample.h class Sample { private:DWORD dw; \/\/私有成员...

如何在c++\/CLI声明一个全局数组
\/\/ 在预编译的同文件中直接定义,凡是使用的话,直接加入这个头文件,就可访问;想要防止和别的定义冲突的话,可以加入namespace来限定static ...\/\/ 或者global ...类中的静态变量的话,在类的实例化之前赋值就好了。就是你说的那个声明在public中,然后赋值的话,直接在.h中声明的时候就可以赋值...

c++~ 请问在类里面构造函数必须是public吗 可以定义到private吗_百度知...
可以定义到private,但定义成private会导致此类不能直接被外部实例化,解决方法如下:1、首先拷贝构造函数是一种特殊的构造函数,函数名与类名相同,它的一个参数必须是本类型的一个引用变量,无函数类型、返回值。2、对象通过另一个对象初始化。3、运行如下图所示。4、接着输入函数的参数为类对象。5...

在c++类中,定义构造函数的目的是什么
构造函数通常用于在实例化对象时自动对内部数据成员初始化,设置初始值、分配内存空间等。而析构函数则用于删除对象时做收尾工作,比如释放申请的空间等。要创建一个对象,就得调用构造函数。要销毁一个对象,就会被迫的调用析构函数。如果成员函数声明称static,不创建对象也能调用 静态成员函数。

问各位大侠C++中参数在不同的cpp文件里怎么传递的问题。谢谢了_百度...
最简单的方法是定义一个duquxml.h头文件 里面定义一个 extern int a;然后在duquxml.cpp引用这个头文件,定义int a。而在myxml.cpp要用的话就extern int a; \/\/全局变量哦。还有你说的构造函数 是怎么样的 能不能贴出来看下啊。给个例子吧 在duquxml.cpp文件中 全局变量 定义 int a;在duqu...

相似回答