教程中说了一大堆,不如直接上程序简单明了。
class Student
{
public:
string name;
int num;
int age;
private:
char sex;
int max_num(int x, int y)
{
return x > y ? x : y;
}
public:
int get_max_num(int a, int b, int c)
{
int max_ab = max_num(a, b);
return max_ab > c ? max_ab : c;
}
void print_name()
{
cout << "name = " << name << endl;
}
};
2 IntelliSense: 没有与参数列表匹配的构造函数 “Student::Student” 实例 参数类型为: (const
char [3], int,
int) d:\C++\C++基础\learn4_helloworld\learn4_helloworld\main.cpp 22 21 learn4_helloworld
如果对带私有属性的class类定义时进行赋值就会报上述错误,不管是否对私有属性进行幅值。
作业
自己定义一个学生类,将该类的所有成员变量都声明为私有的,并添加一个共有的成员函数,实现从键盘录入该类对象的学生信息。
#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
string name;
int num;
int age;
char sex;
public:
void get_infor()
{
cout << "请输入学生姓名" << endl;
cin >> name ;
cout << "请输入学生学号" << endl;
cin >> num;
cout << "请输入学生年龄" << endl;
cin >> age;
cout << "请输入学生性别" << endl;
cin >> sex;
}
void cout_infor()
{
cout << "学生姓名" <<name<< endl;
cout << "学生学号" << num << endl;
cout << "学生年龄" << age << endl;
cout << "学生性别" << sex << endl;
}
};
int main() {
Student zhangsan;
zhangsan.get_infor();
zhangsan.cout_infor();
system("pause");
return 0;
}
类的成员函数
//类的声明
class Student
{
public:
string name;
int num;
int age;
private:
char sex;
int max_num(int x, int y);
public:
int get_max_num(int a, int b, int c);
void print_name();
};
//类的成员函数的实现
int Student::max_num(int x, int y)
{
return x > y ? x : y;
}
int Student::get_max_num(int a, int b, int c)
{
int max_ab = max_num(a, b);
return max_ab > c ? max_ab : c;
}
void Student::print_name()
{
cout << "name = " << name << endl;
}