中易网

VC++ 新建MFC中如何对 自己定义的成员函数进行申明和定义?

答案:4  悬赏:80  
解决时间 2021-03-02 22:32
RT 能举个例子 最感激了

我要画图,编了个函数DDALIne()
void CTestVIew::DDALIne()
{
(代码省)
}

是直接把这段代码放到TestVIew.cpp后面吗? 是不是要对这个函数进行申明和定义呢?怎么操作?
最佳答案
请参考C++基本语法相关内容。
全部回答
①先说明一下rand,这个函数用来产生伪随机数。比如,产生1000的两个随机数,产生的两个一般上是不同的,但如果要产生80个100以内的随机数,仅用rand函数就不够。因为产生80个100以内的随机数,至少有两个数相等的概率太大了。 ②srand函数,并不能使产生的随机数完全不同。你可以执行以下这串代码。 #include #include #include int main() { srand((unsigned)time(null)); int t1,t2; t1=(rand()%3)+1; t2=(rand()%3)+1; cout< #include #include int main(void) { srand((unsigned)time(null));//播种子,随时间的不同播不同的种子,故每次产生的随机数都不相同,由于用到time,故需要头函数time.h int t1,t2; t1=(rand()%2)+1; t2=(rand()%2)+1; myd:if(t2==t1)t2=(rand()%2)+1; if(t2==t1)t2=(rand()%2)+1; cout< #include #include int main(void) { srand((unsigned)time(null));//播种子,随时间的不同播不同的种子,故每次产生的随机数都不相同,由于用到time,故需要头函数time.h int t1,t2; bool error=true; t1=(rand()%2)+1; t2=(rand()%2)+1; while(error) { if(t2==t1)t2=(rand()%2)+1; if(t2==t1) error=true;//由于上一个语句只是判断当t2=t1时,再产生一个随机数赋给t1,但有可能新产生的这个数还与t1相同,所以接下来还要进行判断 else error=false; } cout< #include int main(void) { int seed; int t1,t2; bool error=true; cin>>seed;//种子由用户输入,如果两次执行这串代码输入相同的种子,执行结果完全相同,否则执行结果不同(即使表面上相同,其实也是不同的执行结果) srand(seed); t1=(rand()%2)+1; t2=(rand()%2)+1; while(error) { if(t2==t1)t2=(rand()%2)+1; if(t2==t1) error=true;//由于上一个语句只是判断当t2=t1时,再产生一个随机数赋给t1,但有可能新产生的这个数还与t1相同,所以接下来还要进行判断 else error=false; } cout<<"不同的随机数:"<
  • 2楼网友:滚出爷的世界
  • 2021-03-02 16:03
1.在ResourceView中选中要删除的对话框,按Delete键; 2.在FileView中删除对话框相关类文件(例如CMyDlg.h和CMyDlg.cpp),并删除所有引用(#include "MyDlg.h"). 3.在程序代码中删除对话框相关类的对象及其操作 我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
  • 3楼网友:放肆的依賴
  • 2021-03-02 15:00
VC++ 2008中可以运行的代码: ------------------------------------------------------ #pragma warning(disable:4786) #include #include using namespace std; #include #include using namespace std; #include using namespace std; struct Data { string name; int age; string work; double account; } int main() { //打开输入文件并测试是否成功 string inputfilename; cout << "Enter inputfilename for output: " << endl; cin >> inputfilename; ifstream lastins( inputfilename.c_str(), ios::in ); if ( !lastins ) { cerr<< "*** ERROR: Cannot open for input. "< using namespace std; struct Data { string name; int age; string work; double account; } // 提取文本文件的数据,并返回结构数组 Data* MakeDataArray(string inputfilename, int Originallinecount ); -------------------------------------------------------------------------------------------- 在CView.cpp中加入:(注:已经在出错的位置注上错误原因) --------------------------------------------------------- #include using std::ifstream; #include using namespace std; // 提取文本文件的数据,并返回结构数组 Data* CView::MakeDataArray(string inputfilename, int Originallinecount ) //错误1:error C2143: 语法错误 : 缺少“;”(在“*”的前面) //错误2:error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int { //错误3: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int //错误4:error C2556: “int *CView::MakeDataArray(std::string,int)”: 重载函数与“CView::Data *CView::MakeDataArray(std::string,int)”只是在返回类型上不同 //错误5: error C2371: “CView::MakeDataArray”: 重定义; //打开输入文件并测试是否成功 ifstream lastins( inputfilename.c_str(), ios::in ); if ( !lastins ) { MessageBox( _T( "ERROR: Can not open the file")); } //分配内存空间 Data* d = new Data[ Originallinecount ]; char middlestring[ 100 ]; //从文件中提取数据并放到自定义的结构数组中 if ( !lastins.eof() ) { for ( int i = 0; i < Originallinecount; i++ ) { lastins.get( middlestring, 100, '|' ); middlestring[ 99 ] = '\0'; d[ i ].name = middlestring; lastins.ignore( 1, '|' ); ......等等,均为数据提取 } } lastins.close(); return *d; } void CView::RenderScene(void) { Data* datum = MakeDataArray( inputfilename, Originallinecount ); //inputfilename是在控件中加入 //数据处理... } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 问题:2,如果换成引用又如何? 我将Data* CView::MakeDataArray(string inputfilename, int Originallinecount ) ----------------------------------------------------------------------------------- 在 CView.h:改为: ----------------------------------------- void MakeDataArray(string inputfilename, int Originallinecount, Data &dataRef ) ---------------------------------------------------- 在CView.cpp中: ----------------------- void CView::MakeDataArray(string inputfilename, int Originallinecount, Data &dataRef ) { //代码同上,只去除 “return *d;”而加上: &dataRef = d; //错误1:error C2106: “=”: 左操作数必须为左值 } void CView::RenderScene(void) { Data datum; MakeDataArray( inputfilename, Originallinecount ); //inputfilename是在控件中加入 //数据处理... } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯