c++ 编写一个类的函数 c++ 编写一个函数

作者&投稿:羽狄 (若有异议请与网页底部的电邮联系)
class Student
{
public:
int m_inumber;
CString m_strsex;
Date m_birthday;//类组合
void set(int number,CStrin sex,Date birtheday) //在类内声明并定义的函数默认是内联函数
{
m_inumber=number;
m_strsex=sex;
m_birthday=birthday;
}
}
class Date
{
public:
int year,month,day;
Date(const Date&);//拷贝构造函数,只要参数里用到对象的函数,就会调用到拷贝构造函数
Date();//类内自定义构造函数,作用:初始化
}
Date::Date() //类外定义构造函数
{
year=1999;
month=5;
day=6;
}
Date::Date(const Date& oneday)
{
year=oneday.year;
month=oneday.month;
day=oneday.day;
}

#include <iostream>
using namespace std;

class DATE
{
public:
DATE(int y = 1900,int m = 1,int d = 1);
int checkday(int)const; // 检查日期的合法性
void displaybirthday()const // 内联函数
{
cout << year << "/" << month << "/" << day << endl;
}

private:
int year;
int month;
int day;
};

DATE::DATE(int y,int m,int d)
{
year = (y > 1900 && y <= 2010) ? y : 1990;
month = (m > 0 && m <= 12) ? m : 1;
day = checkday(d);
}

int DATE::checkday(int d) const
{
static const int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (d > 0 && d <= days[month])
return d;
if (d == 29 && month == 2 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0))
return d;
return 1;
}

class student
{
public:
student(int,bool,int,int,int);
void displayinfo()const;
private:
int number;
bool sex;
DATE birthday;
};

student::student(int num, bool Sex, int y,int m,int d)
:birthday(y,m,d)
{
number = num;
sex = (Sex == 0 || Sex == 1) ? Sex : 0;
}

void student::displayinfo() const
{
cout << number << '\t' << sex << '\t';
birthday.displaybirthday();
}

int main()
{
student *students[2];
int num,y,m,d;
bool Sex;
for (int i = 0;i < 2;i++)
{
cout << "请输入学号,性别(1表示GG,0表示MM),出生年月日: \n";
cin >> num >> Sex >> y >> m >> d;
students[i] = new student(num,Sex,y,m,d);
}
cout << "\n学号\t性别\t生日\n";
for (int i = 0;i < 2;i++)
{
students[i]->displayinfo();
delete students[i];
}
return 0;
}

先留名!

c++ 编写一个类的函数~

#include

//
n个元素以2个一组进行处理,有n/2组
//
2个元素之间比较1次,取当前最大最小值各比较一次
//
一共3次,所以最多执行3n/2次比较
void
minmax(int*
a,
int
n,
int*
min,
int*
max)
{
int
tmin,
tmax;
if(n
&
1)
*min
=
*max
=
a[--n];
else
{
if(a[n-1]
<
a[n-2])
*min
=
a[n-1],
*max
=
a[n-2];
else
*min
=
a[n-2],
*max
=
a[n-1];
n
-=
2;
}
while(n
>=
1)
{
if(a[n-1]
<
a[n])
tmin
=
a[n-1],
tmax
=
a[n];
else
tmin
=
a[n],
tmax
=
a[n-1];
if(tmin
<
*min)
*min
=
tmin;
if(tmax
>
*max)
*max
=
tmax;
n
-=
2;
}
}
int
main()
{
int
a[]
=
{5,1,3,9,2,6,0,8,4,7};
int
min,
max;
minmax(a,
10,
&min,
&max);
printf("min:%d
max:%d
",
min,
max);
return
0;
}

#include
#include
#include
#include
using namespace std;
void partition(string line)
{
string NUM="1234567890";
string num;
vector coll1;
string::size_type begidx,endidx;



begidx=line.find_first_of(NUM); //////////////////////////
while(begidx!=string::npos)
{
endidx=line.find_first_not_of(NUM,begidx+1);
if(endidx==string::npos)
{
num=line.substr(begidx);
coll1.push_back(atoi(num.c_str())); //此段用于获取字符串中的数据并转换成整型顺序加入coll1容器
break;
}
else
{
num=line.substr(begidx,endidx-begidx);
coll1.push_back(atoi(num.c_str()));
begidx=line.find_first_of(NUM,endidx+1); ////////////////////////////
}
}

for(int i=0;i<coll1.size();++i)
{
cout<<"整数 "<<i+1<<"="<<coll1[i]<<endl;
}
}

int main()
{
string s;
cout<<"输入一个表达式:"<<endl;
cin>>s;
partition(s);

return 0;

}

//我是用容器存的,用数组有点麻烦,因为你不知道输入的包含几个数字
//这个再加一步将容器里面的内容复制到数组里面就行了