C++ hỗ trợ đa kế thừa trong lập trình hướng đối tượng
1. Đa kế thừa (multiple inheritance) là gì? Lớp dẫn xuất kế thừa từ nhiều lớp...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
1. Mảng kiểu dữ liệu cấu trúc Viết chương trình C++ lưu trữ tọa độ của n điểm trong trục tọa độ Oxy Kết quả Viết chương trình lưu thông tin của n sinh viên Kết quả 2. Truyền kiểu dữ liệu cấu trúc cho hàm Truyền kiểu dữ liệu cấu trúc cho hàm Truyền […]
#include <iostream>
using namespace std;
struct POINT
{
int x;
int y;
};
int main() {
POINT point_array[100];
int n;//number of points stored
cout<<"Input number of points to store:";
cin>>n;
cout<<"Input "<<n<<" points"<<endl;
for(int i=0;i<n;i++){
cout<<"Input "<<i+1<<"th point:";
cout<<endl<<"x:";cin>>point_array[i].x;
cout<<"y:";cin>>point_array[i].y;
}
cout<<"Output "<<n<<" points"<<endl;
for(int i=0;i<n;i++){
cout<<i+1<<"th point:("<<point_array[i].x<<", "<<point_array[i].y<<")"<<endl;
}
system("pause");
}
Input number of points to store:5
Input 5 points
Input 1th point:
x:0
y:1
Input 2th point:
x:-1
y:9
Input 3th point:
x:5
y:9
Input 4th point:
x:-3
y:5
Input 5th point:
x:0
y:0
Output 5 points
1th point:(0, 1)
2th point:(-1, 9)
3th point:(5, 9)
4th point:(-3, 5)
5th point:(0, 0)
#include <iostream>
#include <string>
using namespace std;
struct STUDENT
{
string id;
string name;
string birthday;
bool gender;//0:female, 1:male
float math, physics, chemistry;
};
int main() {
STUDENT student_array[100];
int n;//number of students stored
cout<<"Input number of students to store:";
cin>>n;
cout<<"Input "<<n<<" students"<<endl;
for(int i=0;i<n;i++){
cout<<"Input "<<i+1<<"th student:";
cin.ignore(100,'\n');
cout<<endl<<"id:";
getline(cin, student_array[i].id);
cout<<"name:";
getline(cin, student_array[i].name);
cout<<"birthday:";
getline(cin, student_array[i].birthday);
cout<<"gender:";cin>>student_array[i].gender;
cout<<"math:";cin>>student_array[i].math;
cout<<"physics:";cin>>student_array[i].physics;
cout<<"chemistry:";cin>>student_array[i].chemistry;
}
cout<<endl<<"===================================="<<endl;
cout<<"Output "<<n<<" students"<<endl;
for(int i=0;i<n;i++){
cout<<i+1<<"th student"<<endl;
cout<<"id:"<<student_array[i].id<<endl;
cout<<"name:"<<student_array[i].name<<endl;
cout<<"birthday:"<<student_array[i].birthday<<endl;
cout<<"gender:"<<student_array[i].gender<<endl;
cout<<"math:"<<student_array[i].math<<endl;
cout<<"physics:"<<student_array[i].physics<<endl;
cout<<"chemistry:"<<student_array[i].chemistry<<endl<<endl;
}
system("pause");
}
Input number of students to store:3
Input 3 students
Input 1th student:
id:01
name:Nguyen Van A
birthday:01/02/2001
gender:1
math:5.6
physics:7.2
chemistry:3.3
Input 2th student:
id:02
name:Nguyen Thi B
birthday:23/02/2001
gender:0
math:9.3
physics:5.8
chemistry:4
Input 3th student:
id:03
name:Nguyen Van C
birthday:05/07/2001
gender:1
math:8.9
physics:6.5
chemistry:7
====================================
Output 3 students
1th student
id:01
name:Nguyen Van A
birthday:01/02/2001
gender:1
math:5.6
physics:7.2
chemistry:3.3
2th student
id:02
name:Nguyen Thi B
birthday:23/02/2001
gender:0
math:9.3
physics:5.8
chemistry:4
3th student
id:03
name:Nguyen Van C
birthday:05/07/2001
gender:1
math:8.9
physics:6.5
chemistry:7
Truyền tham trị: dữ liệu của biến cấu trúc không thay đổi khi kết thúc hàm.
#include <iostream>
using namespace std;
struct POINT
{
int x;
int y;
};
void inputPoint(POINT p1){//truyền tham trị
cout<<"Input point"<<endl;
cout<<"x:";cin>>p1.x;
cout<<"y:";cin>>p1.y;
}
void outputPoint(POINT p1){
cout<<"Output point:("<<p1.x<<", "<<p1.y<<")";
}
int main() {
POINT p1 = {1, 2};
inputPoint(p1);
outputPoint(p1);
system("pause");
}
Input point
x:99
y:101
Output point:(1, 2)
Nhận xét: POINT p1 ban đầu có tọa độ (1, 2). Gọi hàm inputPoint(p1); để nhập tọa độ cho p1 là (99, 101). Nhưng sau khi kết thúc hàm thì p1 vẫn chỉ lưu tọa độ (1, 2). Rõ ràng, dữ liệu của p1 không thay đổi khi kết thúc hàm.
Truyền tham chiếu: dữ liệu của biến cấu trúc thay đổi khi kết thúc hàm.
#include <iostream>
using namespace std;
struct POINT
{
int x;
int y;
};
void inputPoint(POINT &p1){//truyền tham chiếu
cout<<"Input point"<<endl;
cout<<"x:";cin>>p1.x;
cout<<"y:";cin>>p1.y;
}
void outputPoint(POINT p1){
cout<<"Output point:("<<p1.x<<", "<<p1.y<<")";
}
int main() {
POINT p1 = {1, 2};
inputPoint(p1);
outputPoint(p1);
system("pause");
}
Input point
x:99
y:101
Output point:(99, 101)
#include <iostream>
using namespace std;
struct POINT
{
int x;
int y;
};
POINT inputPoint(){//trả về kiểu POINT
POINT temp;
cout<<"Input point"<<endl;
cout<<"x:";cin>>temp.x;
cout<<"y:";cin>>temp.y;
return temp;
}
void outputPoint(POINT p1){
cout<<"Output point:("<<p1.x<<", "<<p1.y<<")";
}
int main() {
POINT p1 = {1, 2};
p1 = inputPoint();
outputPoint(p1);
system("pause");
}
Input point
x:99
y:101
Output point:(99, 101)
Hàm inputPoint() có kiểu trả về là kiểu cấu trúc POINT.
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.