一道派生类的构造函数问题

hui135 2009-05-23 10:46:56
//定义一个大学生类Graduate,私有数据成员:姓名,学号,校名,
//并为它定义带参数的构造函数、拷贝构造函数、析构函数和
//输出数据成员值的print( )公有成员函数,另定义研究生类Postgraduate,
//它以公有继承方式派生于类Graduate,新增加"研究方向、导师名"两个私有数据成员,
//并定义带参数的构造函数,拷贝构造函数、析构函数和输出研究生数据的print( )公有成员函数,
//另外,要求学号自动增加,且Graduate和Postgraduate的学号起始值不同。
//在主函数中定义派生类对象进行测试。(字符串用char*表示)

#include<iostream.h>
#include<string.h>

class Graduate
{
public:
Graduate(char *gname,char *gnumber,char *guniversity);
void print();
void setname(char *pname)
{
strcpy(name,pname);
}
char* getname()
{
return name;
}
Graduate(const Graduate &p);
~Graduate();
private:
char *name;
char *number;
char *university;
};

Graduate::Graduate(char *gname,char *gnumber,char *guniversity)
{
name=new char[10];
strcpy(name,gname);
number=new char[10];
strcpy(number,gnumber);
university=new char[20];
strcpy(university,guniversity);
}

void Graduate::print()
{
cout<<" your name:"<<name<<endl;
cout<<" your number:"<<number<<endl;
cout<<" your university:"<<university<<endl;
}

Graduate::Graduate(const Graduate &p)
{
name=new char[strlen(p.name)+1];
strcpy(name,p.name);
number=new char[strlen(p.number)+1];
strcpy(number,p.name);
university=new char[strlen(p.university)+1];
strcpy(university,p.university);
}

Graduate::~Graduate()
{
delete[] name;
delete[] number;
delete[] university;
}

class Postgraduate:public Graduate
{
public:
Postgraduate(char *gname,char *gnumber,char *pdirection,char *ptutor):Graduate(gname,gnumber)
{
direction=new char[20];
strcpy(direction,pdirection);
tutor=new char[10];
strcpy(tutor,ptutor);
}
void print();
// Postgraduate(const Postgraduate &k0);
~Postgraduate();
private:
char *direction;
char *tutor;
};

void Postgraduate::print()
{

cout<<" your direction:"<<direction<<endl;
cout<<" your tutor:"<<tutor<<endl;
}

/*
Postgraduate::Postgraduate(const Postgraduate &k0)
{
setname(k0.getname);
number=new char[strlen(pnumber)+1];
strcpy(number,pnumber);

direction=new char[strlen(k0.direction)+1];
strcpy(direction,k0.direction);
tutor=new char[strlen(k0.tutor)+1];
strcpy(tutor,k0.tutor);

}
*/

Postgraduate::~Postgraduate()
{
delete[] direction;
delete[] tutor;
}

void main()
{
char name[10];
char number[10];
char university[20];
char direction[20];
char tutor[10];
cout<<"please input your name:"<<endl;
cin>>name;
cout<<"please input your number:"<<endl;
cin>>number;
cout<<"please input your university:"<<endl;
cin>>university;
Graduate b(name,number,university);
b.print();

cout<<"please input your name:"<<endl;
cin>>name;
cout<<"please input your number:"<<endl;
cin>>number;
cout<<"please input your direction:"<<endl;
cin>>direction;
cout<<"please input your tutor:"<<endl;
cin>>tutor;
Postgraduate a(name,number,direction,tutor);
a.print();
}
在vc6.0中编译出错:
Cpp3-1.cpp(71) : error C2661: 'Graduate::Graduate' : no overloaded function takes 2 parameters
哪位大侠知道怎么回事,怎么解决,幸苦你了。
...全文
187 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenling4063598 2009-05-25
  • 打赏
  • 举报
回复
上面这个可以了,我以前发的就是那个默认的Graduate();没有加{};
现在可以了,你试试~
chenling4063598 2009-05-25
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <string.h>

class Graduate
{
static int number;
public:
//Graduate(char *gname,int gnumber,char *guniversity);
Graduate(char *gname,char *guniversity);
Graduate(){};

void print();

void setname(char *pname)
{
strcpy(name,pname);
}
/*void setnumber(char *pnumber)
{
strcpy(name,pnumber);
}*///add setnumber.as the number is private for Graduate.

char* getname()
{
return name;
}
int* getnumber()
{
return &gnumber;
}

Graduate(const Graduate &p); //space

~Graduate();

protected:
char *name;
int gnumber;
char *university;
};

Graduate::Graduate(char *gname,char *guniversity)
{
name=new char[strlen(gname)+1]; //用strlen(gname)+1代替固定的值
strcpy(name,gname);
/*number=new char[strlen(gnumber)+1];
strcpy(number,gnumber); */
gnumber=number+1;
university=new char[strlen(guniversity)+1];
strcpy(university,guniversity);
}

void Graduate::print()
{
cout <<" your name:" <<name <<endl;
cout <<" your number:" <<gnumber<<endl;
cout <<" your university:" <<university<<endl;
}

Graduate::Graduate(const Graduate&p)
{
name=new char[strlen(p.name)+1];
strcpy(name,p.name);
/*number=new char[strlen(p.number)+1];
strcpy(number,p.number); */
gnumber=number+1;
university=new char[strlen(p.university)+1];
strcpy(university,p.university);
}

Graduate::~Graduate()
{
delete[] name;
//delete[] number;
delete[] university;
}

class Postgraduate:public Graduate
{
static int pnumber;
public:
Postgraduate(char *gname,char *guniversity,char *pdirection,char *ptutor):Graduate(gname,guniversity)
{

direction=new char[strlen(pdirection)+1];
strcpy(direction,pdirection);

*getnumber()=pnumber+1;//not very clearly
tutor=new char[strlen(ptutor)+1];
strcpy(tutor,ptutor);
}
void print();
Postgraduate(const Postgraduate &k);
~Postgraduate();
private:
//int ponumber;
char *direction;
char *tutor;
};

void Postgraduate::print()
{
/*cout <<" your name:" <<name <<endl;
cout <<" your number:" <<gnumber<<endl;
cout <<" your university:" <<university<<endl; */
//cout <<" your number:" <<getnumber<<endl;
cout <<" your direction:" <<direction <<endl;
cout <<" your tutor:" <<tutor <<endl;
}


Postgraduate::Postgraduate(const Postgraduate &k) //这一块属于继承类的复制构造函数?没用过,不知道为什么要调用无参构造函数Gradute
{
//name=new char[strlen(k.name)+1];

setname(k.name);
gnumber=pnumber+1;
university=new char[strlen(k.university)+1];
strcpy(university,k.university);

//number=new char[strlen(pnumber)+1];
//strcpy(number,pnumber);
//setnumber(k,getnumber);

direction=new char[strlen(k.direction)+1];
strcpy(direction,k.direction);
tutor=new char[strlen(k.tutor)+1];
strcpy(tutor,k.tutor);

}


Postgraduate::~Postgraduate()
{
delete[] direction;
delete[] tutor;
}

int Graduate::number=0;
int Postgraduate::pnumber =0;

void main()
{
char name[10];
//char number[10];
char university[20];
char direction[20];
char tutor[10];
cout <<"please input your name:" <<endl;
cin>>name;
//cout <<"please input your number:" <<endl;
//cin>>number;
cout <<"please input your university:" <<endl;
cin>>university;
Graduate b(name,university);
b.print();

cout <<"please input your name:" <<endl;
cin>>name;
//cout <<"please input your number:" <<endl;
//cin>>number;
cout <<"please input your direction:" <<endl;
cin>>direction;
cout <<"please input your university:" <<endl;
cin>>university;
cout <<"please input your tutor:" <<endl;
cin>>tutor;
Postgraduate a(name,university,direction,tutor);
a.print();
}


ltc_mouse 2009-05-24
  • 打赏
  • 举报
回复
对于派生类的构造函数,首先应该完成的是基类数据的初始化(调用基类某种形式的构造函数),然后是新增加的派生类数据初始化~
拷贝构造函数也是如此。先基类的拷贝构造,再新增的成员数据~ 这样达到各个层次尽量只对自己添加的数据“负责”~

Postgraduate::Postgraduate(const Postgraduate &k0):Graduate(k0)
{
direction=new char[strlen(k0.direction)+1];
strcpy(direction,k0.direction);
tutor=new char[strlen(k0.tutor)+1];
strcpy(tutor,k0.tutor);
}
pengzhixi 2009-05-24
  • 打赏
  • 举报
回复
Postgraduate(char *gname,char *gnumber,char *pdirection,char *ptutor):Graduate(gname,gnumber) //问题在这,你调用基类构造函数时,参数传少了
{
direction=new char[20];
strcpy(direction,pdirection);
tutor=new char[10];
strcpy(tutor,ptutor);
}
chenling4063598 2009-05-24
  • 打赏
  • 举报
回复
你写的这个程序的学号没有按照要求编。
学号对于大学生和研究生的基数是不一样的。
chenling4063598 2009-05-24
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <string.h>

class Graduate
{
static int number;
public:
//Graduate(char *gname,int gnumber,char *guniversity);
Graduate(char *gname,char *guniversity);
Graduate();
void print();

void setname(char *pname)
{
strcpy(name,pname);
}
/*void setnumber(char *pnumber)
{
strcpy(name,pnumber);
}*///add setnumber.as the number is private for Graduate.

char* getname()
{
return name;
}
int* getnumber()
{
return &gnumber;
}

Graduate(const Graduate &p); //space

~Graduate();

protected:
char *name;
int gnumber;
char *university;
};

Graduate::Graduate(char *gname,char *guniversity)
{
name=new char[strlen(gname)+1]; //用strlen(gname)+1代替固定的值
strcpy(name,gname);
/*number=new char[strlen(gnumber)+1];
strcpy(number,gnumber); */
gnumber=number+1;
university=new char[strlen(guniversity)+1];
strcpy(university,guniversity);
}

void Graduate::print()
{
cout <<" your name:" <<name <<endl;
cout <<" your number:" <<gnumber<<endl;
cout <<" your university:" <<university<<endl;
}

Graduate::Graduate(const Graduate&p)
{
name=new char[strlen(p.name)+1];
strcpy(name,p.name);
/*number=new char[strlen(p.number)+1];
strcpy(number,p.number); */
gnumber=number+1;
university=new char[strlen(p.university)+1];
strcpy(university,p.university);
}

Graduate::~Graduate()
{
delete[] name;
//delete[] number;
delete[] university;
}

class Postgraduate:public Graduate
{
static int pnumber;
public:
Postgraduate(char *gname,char *guniversity,char *pdirection,char *ptutor):Graduate(gname,guniversity)
{

direction=new char[strlen(pdirection)+1];
strcpy(direction,pdirection);

*getnumber()=pnumber+1;//not very clearly
tutor=new char[strlen(ptutor)+1];
strcpy(tutor,ptutor);
}
void print();
Postgraduate(const Postgraduate &k);
~Postgraduate();
private:
//int ponumber;
char *direction;
char *tutor;
};

void Postgraduate::print()
{
/*cout <<" your name:" <<name <<endl;
cout <<" your number:" <<gnumber<<endl;
cout <<" your university:" <<university<<endl; */
//cout <<" your number:" <<getnumber<<endl;
cout <<" your direction:" <<direction <<endl;
cout <<" your tutor:" <<tutor <<endl;
}


Postgraduate::Postgraduate(const Postgraduate &k)
{
//name=new char[strlen(k.name)+1];

setname(k.name);
gnumber=pnumber+1;
university=new char[strlen(k.university)+1];
strcpy(university,k.university);

//number=new char[strlen(pnumber)+1];
//strcpy(number,pnumber);
//setnumber(k,getnumber);

direction=new char[strlen(k.direction)+1];
strcpy(direction,k.direction);
tutor=new char[strlen(k.tutor)+1];
strcpy(tutor,k.tutor);

}


Postgraduate::~Postgraduate()
{
delete[] direction;
delete[] tutor;
}

int Graduate::number=0;
int Postgraduate::pnumber =0;

void main()
{
char name[10];
//char number[10];
char university[20];
char direction[20];
char tutor[10];
cout <<"please input your name:" <<endl;
cin>>name;
//cout <<"please input your number:" <<endl;
//cin>>number;
cout <<"please input your university:" <<endl;
cin>>university;
Graduate b(name,university);
b.print();

cout <<"please input your name:" <<endl;
cin>>name;
//cout <<"please input your number:" <<endl;
//cin>>number;
cout <<"please input your direction:" <<endl;
cin>>direction;
cout <<"please input your university:" <<endl;
cin>>university;
cout <<"please input your tutor:" <<endl;
cin>>tutor;
Postgraduate a(name,university,direction,tutor);
a.print();
}


Linking...
test01.obj : error LNK2001: unresolved external symbol "public: __thiscall Graduate::Graduate(void)" (??0Graduate@@QAE@XZ)
Debug/test1.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
变成这样了
test1.exe - 1 error(s), 0 warning(s)
变成这样了
hui135 2009-05-23
  • 打赏
  • 举报
回复
下了,郁闷!明天在来!!!
arong1234 2009-05-23
  • 打赏
  • 举报
回复
请继续
[Quote=引用 15 楼 hui135 的回复:]
但我就是要问,你看着吧,总会有人回答的!!![/Quote]
hui135 2009-05-23
  • 打赏
  • 举报
回复
14楼说得有理,不过要是我们都一点就通那还要提问干嘛,像G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(95) : error C2664: 'setname' : cannot convert parameter 1 from 'char *(void)' to 'char *'
There is no context in which this conversion is possible

我当然知道怎么回事,我们能提出问题来,都是自己下面想了很久,查过书,还是不太清楚才问嘛,想从其他高手那里得到写意见,论坛里难道新手就不能问些“弱智”问题吗,所以我说我你就是偏见,看不起我们新手。但我就是要问,你看着吧,总会有人回答的!!!
arong1234 2009-05-23
  • 打赏
  • 举报
回复
别人只能给你方向性的指导,如果你不能触类旁通,根据人家的指导找到其他问题的答案,总是等着别人堆每个出的错误都指导一下,那什么时候是个完?
arong1234 2009-05-23
  • 打赏
  • 举报
回复
首先你还是没懂啦,别人告诉你的是一类问题,而你只会你所举例子中涉及的函数,根本没有触类旁通


简单的说:如果你想调用一个函数(无论是不是构造函数),你必须满足人家参数列表的要求。参数列表要求你提供什么类型的参数,提供几个参数你都必须严格遵守
看看下面的错误:

G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(95) : error C2664: 'setname' : cannot convert parameter 1 from 'char *(void)' to 'char *'
There is no context in which this conversion is possible

从这个错误信息难道你还看不出他到底怎么了?人家要的是char*类型,你为什么传一个函数指针char*(void)给他?

[Quote=引用 12 楼 hui135 的回复:]
感谢lpf000等大侠,我知道怎么回事了,不过我对派生类的复制函数还有点问题:
#include <iostream.h>
#include <string.h>

class Graduate
{
public:
Graduate(char *gname,char *gnumber,char *guniversity);
void print();
void setname(char *pname)
{
strcpy(name,pname);
}
char* getname()
{
return name;
}
Graduate(const Graduate &p);
~Graduate();
private:
char *name;
c…
[/Quote]
hui135 2009-05-23
  • 打赏
  • 举报
回复
感谢lpf000等大侠,我知道怎么回事了,不过我对派生类的复制函数还有点问题:
#include<iostream.h>
#include<string.h>

class Graduate
{
public:
Graduate(char *gname,char *gnumber,char *guniversity);
void print();
void setname(char *pname)
{
strcpy(name,pname);
}
char* getname()
{
return name;
}
Graduate(const Graduate &p);
~Graduate();
private:
char *name;
char *number;
char *university;
};

Graduate::Graduate(char *gname,char *gnumber,char *guniversity)
{
name=new char[10];
strcpy(name,gname);
number=new char[10];
strcpy(number,gnumber);
university=new char[20];
strcpy(university,guniversity);
}

void Graduate::print()
{
cout<<" your name:"<<name<<endl;
cout<<" your number:"<<number<<endl;
cout<<" your university:"<<university<<endl;
}

Graduate::Graduate(const Graduate &p)
{
name=new char[strlen(p.name)+1];
strcpy(name,p.name);
number=new char[strlen(p.number)+1];
strcpy(number,p.name);
university=new char[strlen(p.university)+1];
strcpy(university,p.university);
}

Graduate::~Graduate()
{
delete[] name;
delete[] number;
delete[] university;
}

class Postgraduate:public Graduate
{
public:
Postgraduate(char *gname,char *gnumber,char *guniversity,char *pdirection,char *ptutor):Graduate(gname,gnumber,0)
{
direction=new char[20];
strcpy(direction,pdirection);
tutor=new char[10];
strcpy(tutor,ptutor);
}
void print();
Postgraduate(const Postgraduate &k0); ~Postgraduate();
private:
char *direction;
char *tutor;
};

void Postgraduate::print()
{

cout<<" your direction:"<<direction<<endl;
cout<<" your tutor:"<<tutor<<endl;
}


Postgraduate::Postgraduate(const Postgraduate &k0)
{
setname(k0.getname);
number=new char[strlen(pnumber)+1];
strcpy(number,pnumber);

direction=new char[strlen(k0.direction)+1];
strcpy(direction,k0.direction);
tutor=new char[strlen(k0.tutor)+1];
strcpy(tutor,k0.tutor);

}

Postgraduate::~Postgraduate()
{
delete[] direction;
delete[] tutor;
}

void main()
{
char name[10];
char number[10];
char university[20];
char direction[20];
char tutor[10];
cout<<"please input your name:"<<endl;
cin>>name;
cout<<"please input your number:"<<endl;
cin>>number;
cout<<"please input your university:"<<endl;
cin>>university;
Graduate b(name,number,university);
b.print();

cout<<"please input your name:"<<endl;
cin>>name;
cout<<"please input your number:"<<endl;
cin>>number;
cout<<"please input your direction:"<<endl;
cin>>direction;
cout<<"please input your tutor:"<<endl;
cin>>tutor;
Postgraduate a(name,number,0,direction,tutor);
a.print();
}
错误如下:
:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(94) : error C2512: 'Graduate' : no appropriate default constructor available
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(95) : error C2664: 'setname' : cannot convert parameter 1 from 'char *(void)' to 'char *'
There is no context in which this conversion is possible
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(96) : error C2248: 'number' : cannot access private member declared in class 'Graduate'
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(29) : see declaration of 'number'
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(96) : error C2065: 'pnumber' : undeclared identifier
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(97) : error C2248: 'number' : cannot access private member declared in class 'Graduate'
G:\大学课件\面向对象的程序设计\新建文件夹\c++实验2\Cpp3-1.cpp(29) : see declaration of 'number'
Error executing cl.exe.
大侠们帮帮忙哈!
lpf000 2009-05-23
  • 打赏
  • 举报
回复
用VC6 就下个 谷歌金山词霸 随时翻译下嘛
arong1234 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hui135 的回复:]
5楼,我知道哪句英文什么意思,就是不知道怎么改?
[/Quote]

这里,你要求Graduate 有一个带两个参数的构造函数
Postgraduate(char *gname,char *gnumber,char *pdirection,char *ptutor):Graduate(gname,gnumber)

但是你的Graduate类的构造函数哪有带两个参数的?
lpf000 2009-05-23
  • 打赏
  • 举报
回复
Graduate::Graduate(char *gname,char *gnumber,char *guniversity)
{
name=new char[10];
strcpy(name,gname);
number=new char[10];
strcpy(number,gnumber);
university=new char[20];
strcpy(university,guniversity);
}
那你的这个构造函数 动态分配的 时候要这样 university=new char[strlen(guniversity)+1];
hui135 2009-05-23
  • 打赏
  • 举报
回复
5楼,我知道哪句英文什么意思,就是不知道怎么改?
lpf000 2009-05-23
  • 打赏
  • 举报
回复
派生类中 有整个基类拷贝,是一个整体,不需要使用,使用默认值NULL嘛
Postgraduate(char *gname,char *gnumber,char *guniversity,char *pdirection,char *ptutor):Graduate(gname,gnumber,0)
hui135 2009-05-23
  • 打赏
  • 举报
回复
问下2楼,还要添加哪些参数,最好把那句构造函数完整写出来哈!

lpf000 2009-05-23
  • 打赏
  • 举报
回复
自己翻译一下那句英文都 该知道错误所在吧。。。
hui135 2009-05-23
  • 打赏
  • 举报
回复
问下1楼:我不想继承guniversity得嘛,难道必须继承基类所有成员函数和数据成员吗
加载更多回复(3)
内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络中的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络中的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航行器(AUV)运动控制中的应用,通过Matlab代码实现了控制算法的仿真验证。该方法融合强化学习的在线自适应能力与传统PID控制的稳定性优势,利用QLearning算法动态优化PID控制器的比例、积分、微分参数,以应对水下复杂流体环境、模型不确定性及外部干扰等挑战,从而提升AUV轨迹跟踪的精度、鲁棒性与动态响应性能。文中系统阐述了AUV的六自由度非线性动力学建模过程、QLearning算法的状态空间与动作空间设计、奖励函数构造及训练机制,并详细说明了PID参数自整定的闭环控制架构。仿真结果表明,相较于传统固定参数PID控制器,该智能控制策略在多种工况下均展现出更优的控制效果,有效抑制了超调,加快了响应速度,并增强了抗干扰能力。; 适合人群:具备自动控制理论、强化学习基础及Matlab/Simulink仿真能力,从事水下机器人、智能控制、海洋工程、自动化等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于AUV、UUV等无人水下平台的高精度自主导航与运动控制;②为解决非线性、强耦合、时变系统的控制器参数自适应整定问题提供智能化解决方案;③作为强化学习与经典控制理论深度融合的技术范例,推动智能控制算法在海洋装备中的工程化应用。; 阅读建议:建议读者结合提供的Matlab代码深入理解算法实现细节,重点剖析QLearning的状态-动作-奖励机制设计、PID参数更新逻辑及仿真对比实验结果,有条件者可在更复杂的动力学模型或实际硬件平台上进一步验证与优化算法性能。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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