1.
#include<iostream>using namespace std;
这里可以替换这样写
#include<iostream.h>
2:关于申请空间
Student::Student(char *name1, char *stu_no1, float score1){ name = new char[strlen(name1) + 1]; strcpy(name, name1);stu_no = new char[strlen(stu_no1) + 1];strcpy(stu_no ,stu_no1);score = score1;}
3:无参数构造函数
Date()
{ }
主函数则
Date date1(2015,5,17);一般都有无参数和有参数的构造函数。
4:拷贝构造函数
Rectangle(const Rectangle& p){length = 2 * p.length;width = 2 * p.width;}
主函数中Rectangle p1(30, 40);Rectangle p2(p1);或Rectangle p2=p1;
5:使用对象和对象引用不会改变实参本身,对象指针则会改变实参本身。
6.两个类相加Complex operator+(Complex co1,Complex co2){ }
友元函数 friend Complex operator+(Complex& a,Complex& b)
成员函数 Complex operator+(Complex& c)
7.两个复数a+bi和c+di进行加,减,乘,除的方法如下:
加法:(a+bi)+(c+di)=(a+c)+(b+d)i
减法:(a+bi)-(c+di)=(a-c)+(b-d)i
乘法: (a+bi)*(c+di)=(ac-bd)+(ad+bc)i
除法:(a+bi)/(c+di)=((a=bi)*(c-di))/(c^2+d^2)
8.标准规定Base类如果没有用户自定义的构造函数就会有个默认的构造函数,反之则
不会有默认的构造函数
struct Base
{
double Ma;
double t;
Base( double Mai , double ti ):Ma(Mai) , t(ti){};
Base(){}
}; 就是说要加这句Base(){}
9.switch红色下划线,Error:控制传输跳过的实例化解决办法
如下:
switch(iParam1)
{
case 0:
CString strResult;
strResult.Format(_T("%s"), iParam2);
break;
case 1:
break;
default:
break;
}
会提示控制传输跳过的实例化解决办法
因为在case 0:中定义了一个变量strResult,因此需要用大括号来结束变量的作用域,如下所示:
switch(iParam1)
{
case 0:
{
CString strResult;
strResult.Format(_T("%s"), iParam2);
break;
}
case 1:
break;
default:
break;
}
问题便没有了
10..#define _CRT_SECURE_NO_WARNINGS这句很有用在用到strcpy的时候。